From 4cac385411b743fce039e0ebe93ce27323e6f231 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Thu, 13 Apr 2017 15:49:24 +0200 Subject: Add factories for testing. --- test/support/factory.ex | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/support/factory.ex (limited to 'test/support') diff --git a/test/support/factory.ex b/test/support/factory.ex new file mode 100644 index 000000000..fcbdfbd9a --- /dev/null +++ b/test/support/factory.ex @@ -0,0 +1,47 @@ +defmodule Pleroma.Factory do + use ExMachina.Ecto, repo: Pleroma.Repo + + def user_factory do + user = %Pleroma.User{ + name: sequence(:name, &"Test User #{&1}"), + email: sequence(:email, &"user#{&1}@example.com"), + nickname: sequence(:nickname, &"nick#{&1}"), + password_hash: Comeonin.Pbkdf2.hashpwsalt("test"), + bio: sequence(:bio, &"Tester Number #{&1}"), + } + %{ user | ap_id: Pleroma.User.ap_id(user) } + end + + def note_factory do + text = sequence(:text, &"This is note #{&1}") + + user = insert(:user) + data = %{ + "type" => "Note", + "content" => text, + "id" => Pleroma.Web.ActivityPub.ActivityPub.generate_object_id, + "actor" => user.ap_id, + "to" => ["https://www.w3.org/ns/activitystreams#Public"], + "published_at" => DateTime.utc_now() |> DateTime.to_iso8601 + } + + %Pleroma.Object{ + data: data + } + end + + def note_activity_factory do + note = insert(:note) + data = %{ + "id" => Pleroma.Web.ActivityPub.ActivityPub.generate_activity_id, + "actor" => note.data["actor"], + "to" => note.data["to"], + "object" => note.data, + "published_at" => DateTime.utc_now() |> DateTime.to_iso8601 + } + + %Pleroma.Activity{ + data: data + } + end +end -- cgit v1.2.3 From 834c84b5dc5821d04f5a24b1202c6bbf9f32094f Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Thu, 13 Apr 2017 17:05:35 +0200 Subject: Update factory. --- test/support/factory.ex | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test/support') diff --git a/test/support/factory.ex b/test/support/factory.ex index fcbdfbd9a..af8e58bd1 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -34,6 +34,7 @@ defmodule Pleroma.Factory do note = insert(:note) data = %{ "id" => Pleroma.Web.ActivityPub.ActivityPub.generate_activity_id, + "type" => "Create", "actor" => note.data["actor"], "to" => note.data["to"], "object" => note.data, @@ -44,4 +45,21 @@ defmodule Pleroma.Factory do data: data } end + + def like_activity_factory do + note_activity = insert(:note_activity) + user = insert(:user) + + data = %{ + "id" => Pleroma.Web.ActivityPub.ActivityPub.generate_activity_id, + "actor" => user.ap_id, + "type" => "Like", + "object" => note_activity.data["object"]["id"], + "published_at" => DateTime.utc_now() |> DateTime.to_iso8601 + } + + %Pleroma.Activity{ + data: data + } + end end -- cgit v1.2.3 From a926038cd096d3340749f071a183c46a987e8c77 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Fri, 14 Apr 2017 18:08:47 +0200 Subject: Add unliking to activitypub. --- test/support/factory.ex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'test/support') diff --git a/test/support/factory.ex b/test/support/factory.ex index af8e58bd1..3fc9cf710 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -22,7 +22,9 @@ defmodule Pleroma.Factory do "id" => Pleroma.Web.ActivityPub.ActivityPub.generate_object_id, "actor" => user.ap_id, "to" => ["https://www.w3.org/ns/activitystreams#Public"], - "published_at" => DateTime.utc_now() |> DateTime.to_iso8601 + "published_at" => DateTime.utc_now() |> DateTime.to_iso8601, + "likes" => [], + "like_count" => 0 } %Pleroma.Object{ -- cgit v1.2.3