9285f078d3063916fd67646cb5eab9d8dc11df82
[akkoma] / test / web / rich_media / helpers_test.exs
1 defmodule Pleroma.Web.RichMedia.HelpersTest do
2 use Pleroma.DataCase
3
4 alias Pleroma.Web.CommonAPI
5
6 import Pleroma.Factory
7 import Tesla.Mock
8
9 setup do
10 mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
11 :ok
12 end
13
14 test "refuses to crawl incomplete URLs" do
15 user = insert(:user)
16
17 {:ok, activity} =
18 CommonAPI.post(user, %{
19 "status" => "[test](example.com/ogp)",
20 "content_type" => "text/markdown"
21 })
22
23 assert %{} == Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity)
24 end
25
26 test "crawls valid, complete URLs" do
27 user = insert(:user)
28
29 {:ok, activity} =
30 CommonAPI.post(user, %{
31 "status" => "[test](http://example.com/ogp)",
32 "content_type" => "text/markdown"
33 })
34
35 Pleroma.Config.put([:rich_media, :enabled], true)
36
37 assert %{page_url: "http://example.com/ogp", rich_media: _} =
38 Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity)
39
40 Pleroma.Config.put([:rich_media, :enabled], false)
41 end
42 end