Merge remote-tracking branch 'pleroma/develop' into feature/disable-account
[akkoma] / test / web / admin_api / search_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.AdminAPI.SearchTest do
6 use Pleroma.Web.ConnCase
7
8 alias Pleroma.Web.AdminAPI.Search
9
10 import Pleroma.Factory
11
12 describe "search for admin" do
13 test "it ignores case" do
14 insert(:user, nickname: "papercoach")
15 insert(:user, nickname: "CanadaPaperCoach")
16
17 {:ok, _results, count} =
18 Search.user(%{
19 query: "paper",
20 local: false,
21 page: 1,
22 page_size: 50
23 })
24
25 assert count == 2
26 end
27
28 test "it returns local/external users" do
29 insert(:user, local: true)
30 insert(:user, local: false)
31 insert(:user, local: false)
32
33 {:ok, _results, local_count} =
34 Search.user(%{
35 query: "",
36 local: true
37 })
38
39 {:ok, _results, external_count} =
40 Search.user(%{
41 query: "",
42 external: true
43 })
44
45 assert local_count == 1
46 assert external_count == 2
47 end
48
49 test "it returns active/deactivated users" do
50 insert(:user, info: %{deactivated: true})
51 insert(:user, info: %{deactivated: true})
52 insert(:user, info: %{deactivated: false})
53
54 {:ok, _results, active_count} =
55 Search.user(%{
56 query: "",
57 active: true
58 })
59
60 {:ok, _results, deactivated_count} =
61 Search.user(%{
62 query: "",
63 deactivated: true
64 })
65
66 assert active_count == 1
67 assert deactivated_count == 2
68 end
69
70 test "it returns specific user" do
71 insert(:user)
72 insert(:user)
73 insert(:user, nickname: "bob", local: true, info: %{deactivated: false})
74
75 {:ok, _results, total_count} = Search.user(%{query: ""})
76
77 {:ok, _results, count} =
78 Search.user(%{
79 query: "Bo",
80 active: true,
81 local: true
82 })
83
84 assert total_count == 3
85 assert count == 1
86 end
87 end
88 end