X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Flist_test.exs;h=e7b23915b073312ddd858bc231fd9af75c7b3a4e;hb=d385789a450d455019c8aa6b6ee6abd28d5648e8;hp=3c07e56b29ca82d7eeca41bc9bc56cbc56f17eee;hpb=a249cbf18724084d6bcb7fee0ba577241c1f6adb;p=akkoma diff --git a/test/list_test.exs b/test/list_test.exs index 3c07e56b2..e7b23915b 100644 --- a/test/list_test.exs +++ b/test/list_test.exs @@ -1,9 +1,12 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 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) @@ -12,6 +15,13 @@ defmodule Pleroma.ListTest do assert title == "title" end + test "validates title" do + user = insert(:user) + + assert {:error, changeset} = Pleroma.List.create("", user) + assert changeset.errors == [title: {"can't be blank", [validation: :required]}] + end + test "getting a list not belonging to the user" do user = insert(:user) other_user = insert(:user) @@ -32,7 +42,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 @@ -91,23 +101,49 @@ defmodule Pleroma.ListTest do refute list_three in lists end - test "getting onwered lists the user belongs" do + 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, ownered_list} = Pleroma.List.create("ownered", owner) - {:ok, not_ownered_list} = Pleroma.List.create("not ownered", not_owner) - {:ok, ownered_list} = Pleroma.List.follow(ownered_list, member_1) - {:ok, ownered_list} = Pleroma.List.follow(ownered_list, member_2) - {:ok, not_ownered_list} = Pleroma.List.follow(not_ownered_list, member_1) - {:ok, not_ownered_list} = Pleroma.List.follow(not_ownered_list, member_2) - - lists_1 = Pleroma.List.get_lists_account_belongs(owner, member_1.id) - assert ownered_list in lists_1 - refute not_ownered_list in lists_1 - lists_2 = Pleroma.List.get_lists_account_belongs(owner, member_2.id) - assert ownered_list in lists_2 - refute not_ownered_list in lists_2 + {: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) + assert owned_list in lists_1 + refute not_owned_list in lists_1 + lists_2 = Pleroma.List.get_lists_account_belongs(owner, member_2) + assert owned_list in lists_2 + refute not_owned_list in lists_2 + end + + test "get by ap_id" do + user = insert(:user) + {:ok, list} = Pleroma.List.create("foo", user) + assert Pleroma.List.get_by_ap_id(list.ap_id) == list + end + + test "memberships" do + user = insert(:user) + member = insert(:user) + {:ok, list} = Pleroma.List.create("foo", user) + {:ok, list} = Pleroma.List.follow(list, member) + + assert Pleroma.List.memberships(member) == [list.ap_id] + end + + test "member?" do + user = insert(:user) + member = insert(:user) + + {:ok, list} = Pleroma.List.create("foo", user) + {:ok, list} = Pleroma.List.follow(list, member) + + assert Pleroma.List.member?(list, member) + refute Pleroma.List.member?(list, user) end end