X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Flist_test.exs;h=1909c0cd9e664771e7e425eab8542c5e7d8e8a2a;hb=e8c2f9a73a37636a9a8ed5c2998617b841f482da;hp=ced01209380e837e12454063bc6dbe63ef154b9d;hpb=4b3ec5351466f8615b32e62cc4e6215f8a80b105;p=akkoma diff --git a/test/list_test.exs b/test/list_test.exs index ced012093..1909c0cd9 100644 --- a/test/list_test.exs +++ b/test/list_test.exs @@ -1,9 +1,12 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + 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 +35,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 +77,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