diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/support/builders/user_builder.ex | 9 | ||||
-rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 2 | ||||
-rw-r--r-- | test/web/twitter_api/representers/activity_representer_test.exs | 9 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 15 |
4 files changed, 27 insertions, 8 deletions
diff --git a/test/support/builders/user_builder.ex b/test/support/builders/user_builder.ex index 0028d42e0..710a1b87c 100644 --- a/test/support/builders/user_builder.ex +++ b/test/support/builders/user_builder.ex @@ -1,8 +1,8 @@ defmodule Pleroma.Builders.UserBuilder do alias Pleroma.{User, Repo} - def build do - %User{ + def build(data \\ %{}) do + user = %User{ email: "test@example.org", name: "Test Name", nickname: "testname", @@ -10,9 +10,10 @@ defmodule Pleroma.Builders.UserBuilder do bio: "A tester.", ap_id: "some id" } + Map.merge(user, data) end - def insert do - Repo.insert(build()) + def insert(data \\ %{}) do + Repo.insert(build(data)) end end diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 754bd72f3..d220f91c3 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -20,7 +20,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do test "retrieve the activities for certain recipients" do {:ok, activity_one} = ActivityBuilder.insert(%{"to" => ["someone"]}) {:ok, activity_two} = ActivityBuilder.insert(%{"to" => ["someone_else"]}) - {:ok, activity_three} = ActivityBuilder.insert(%{"to" => ["noone"]}) + {:ok, _activity_three} = ActivityBuilder.insert(%{"to" => ["noone"]}) activities = ActivityPub.fetch_activities(["someone", "someone_else"]) assert length(activities) == 2 diff --git a/test/web/twitter_api/representers/activity_representer_test.exs b/test/web/twitter_api/representers/activity_representer_test.exs index b34d3b787..ecfd5a73f 100644 --- a/test/web/twitter_api/representers/activity_representer_test.exs +++ b/test/web/twitter_api/representers/activity_representer_test.exs @@ -7,6 +7,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do test "an activity" do {:ok, user} = UserBuilder.insert content = "Some content" + date = DateTime.utc_now() |> DateTime.to_iso8601 + activity = %Activity{ id: 1, data: %{ @@ -17,9 +19,11 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do ], "actor" => User.ap_id(user), "object" => %{ + "published" => date, "type" => "Note", "content" => content - } + }, + "published" => date } } @@ -31,7 +35,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do "attentions" => [], "statusnet_html" => content, "text" => content, - "is_post_verb" => true + "is_post_verb" => true, + "created_at" => date } assert ActivityRepresenter.to_map(activity, %{user: user}) == expected_status diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 8016f4537..5c78790af 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -20,11 +20,24 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do assert Enum.member?(get_in(activity.data, ["to"]), "https://www.w3.org/ns/activitystreams#Public") end - test "fetch public activities" do + test "fetch public statuses" do %{ public: activity, user: user } = ActivityBuilder.public_and_non_public statuses = TwitterAPI.fetch_public_statuses() assert length(statuses) == 1 assert Enum.at(statuses, 0) == ActivityRepresenter.to_map(activity, %{user: user}) end + + test "fetch friends' statuses" do + ActivityBuilder.public_and_non_public + {:ok, activity} = ActivityBuilder.insert(%{"to" => ["someguy/followers"]}) + {:ok, user} = UserBuilder.insert(%{ap_id: "some other id", following: ["someguy/followers"]}) + + statuses = TwitterAPI.fetch_friend_statuses(user) + + activity_user = Repo.get_by(User, ap_id: activity.data["actor"]) + + assert length(statuses) == 1 + assert Enum.at(statuses, 0) == ActivityRepresenter.to_map(activity, %{user: activity_user}) + end end |