diff options
author | Maxim Filippov <colixer@gmail.com> | 2019-03-27 03:51:59 +0500 |
---|---|---|
committer | Maxim Filippov <colixer@gmail.com> | 2019-03-27 03:51:59 +0500 |
commit | 3cf7539bca56ce1118bbedaba547d371f3f20eed (patch) | |
tree | b466f6efea4506bdff5ed44b17c978ede4835f12 /test/web/admin_api/search_test.exs | |
parent | 15aa94f40f73444d67da7cb71ec219b97ec5142e (diff) | |
download | pleroma-3cf7539bca56ce1118bbedaba547d371f3f20eed.tar.gz pleroma-3cf7539bca56ce1118bbedaba547d371f3f20eed.zip |
Add more user filters + move search to its own module
Diffstat (limited to 'test/web/admin_api/search_test.exs')
-rw-r--r-- | test/web/admin_api/search_test.exs | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/test/web/admin_api/search_test.exs b/test/web/admin_api/search_test.exs new file mode 100644 index 000000000..3950996ed --- /dev/null +++ b/test/web/admin_api/search_test.exs @@ -0,0 +1,88 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.AdminAPI.SearchTest do + use Pleroma.Web.ConnCase + + alias Pleroma.Web.AdminAPI.Search + + import Pleroma.Factory + + describe "search for admin" do + test "it ignores case" do + insert(:user, nickname: "papercoach") + insert(:user, nickname: "CanadaPaperCoach") + + {:ok, _results, count} = + Search.user(%{ + query: "paper", + local: false, + page: 1, + page_size: 50 + }) + + assert count == 2 + end + + test "it returns local/external users" do + insert(:user, local: true) + insert(:user, local: false) + insert(:user, local: false) + + {:ok, _results, local_count} = + Search.user(%{ + query: "", + local: true + }) + + {:ok, _results, external_count} = + Search.user(%{ + query: "", + external: true + }) + + assert local_count == 1 + assert external_count == 2 + end + + test "it returns active/deactivated users" do + insert(:user, info: %{deactivated: true}) + insert(:user, info: %{deactivated: true}) + insert(:user, info: %{deactivated: false}) + + {:ok, _results, active_count} = + Search.user(%{ + query: "", + active: true + }) + + {:ok, _results, deactivated_count} = + Search.user(%{ + query: "", + deactivated: true + }) + + assert active_count == 1 + assert deactivated_count == 2 + end + + test "it returns specific user" do + insert(:user) + insert(:user) + insert(:user, nickname: "bob", local: true, info: %{deactivated: false}) + + {:ok, _results, total_count} = Search.user(%{query: ""}) + + {:ok, _results, count} = + Search.user(%{ + query: "Bo", + active: true, + local: true + }) + + assert total_count == 3 + assert count == 1 + end + end +end |