Merge branch 'ci-test-fix' into 'develop'
[akkoma] / test / list_test.exs
index ced01209380e837e12454063bc6dbe63ef154b9d..2ab8228150ff7523b7f4429542ee7e652fa3362a 100644 (file)
@@ -1,9 +1,8 @@
 defmodule Pleroma.ListTest do
-  alias Pleroma.{User, Repo}
+  alias Pleroma.Repo
   use Pleroma.DataCase
 
   import Pleroma.Factory
-  import Ecto.Query
 
   test "creating a list" do
     user = insert(:user)
@@ -32,7 +31,7 @@ defmodule Pleroma.ListTest do
     user = insert(:user)
     other_user = insert(:user)
     {:ok, list} = Pleroma.List.create("title", user)
-    {:ok, %{following: following}} = Pleroma.List.follow(list, other_user)
+    {:ok, %{following: _following}} = Pleroma.List.follow(list, other_user)
     {:ok, %{following: following}} = Pleroma.List.unfollow(list, other_user)
     assert [] == following
   end
@@ -74,4 +73,40 @@ defmodule Pleroma.ListTest do
     assert list_two in lists
     refute list_three in lists
   end
+
+  test "getting all lists the user is a member of" do
+    user = insert(:user)
+    other_user = insert(:user)
+    {:ok, list_one} = Pleroma.List.create("title", user)
+    {:ok, list_two} = Pleroma.List.create("other title", user)
+    {:ok, list_three} = Pleroma.List.create("third title", other_user)
+    {:ok, list_one} = Pleroma.List.follow(list_one, other_user)
+    {:ok, list_two} = Pleroma.List.follow(list_two, other_user)
+    {:ok, list_three} = Pleroma.List.follow(list_three, user)
+
+    lists = Pleroma.List.get_lists_from_activity(%Pleroma.Activity{actor: other_user.ap_id})
+    assert list_one in lists
+    assert list_two in lists
+    refute list_three in lists
+  end
+
+  test "getting own lists a given user belongs to" do
+    owner = insert(:user)
+    not_owner = insert(:user)
+    member_1 = insert(:user)
+    member_2 = insert(:user)
+    {:ok, owned_list} = Pleroma.List.create("owned", owner)
+    {:ok, not_owned_list} = Pleroma.List.create("not owned", not_owner)
+    {:ok, owned_list} = Pleroma.List.follow(owned_list, member_1)
+    {:ok, owned_list} = Pleroma.List.follow(owned_list, member_2)
+    {:ok, not_owned_list} = Pleroma.List.follow(not_owned_list, member_1)
+    {:ok, not_owned_list} = Pleroma.List.follow(not_owned_list, member_2)
+
+    lists_1 = Pleroma.List.get_lists_account_belongs(owner, member_1.id)
+    assert owned_list in lists_1
+    refute not_owned_list in lists_1
+    lists_2 = Pleroma.List.get_lists_account_belongs(owner, member_2.id)
+    assert owned_list in lists_2
+    refute not_owned_list in lists_2
+  end
 end