1 defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
2 use Pleroma.Web.ConnCase
4 alias Pleroma.{Repo, User}
7 import ExUnit.CaptureLog
9 describe "/api/pleroma/admin/user" do
11 admin = insert(:user, info: %{"is_admin" => true})
16 |> assign(:user, admin)
17 |> put_req_header("accept", "application/json")
18 |> delete("/api/pleroma/admin/user?nickname=#{user.nickname}")
20 assert json_response(conn, 200) == user.nickname
24 admin = insert(:user, info: %{"is_admin" => true})
28 |> assign(:user, admin)
29 |> put_req_header("accept", "application/json")
30 |> post("/api/pleroma/admin/user", %{
32 "email" => "lain@example.org",
36 assert json_response(conn, 200) == "lain"
40 describe "/api/pleroma/admin/permission_group" do
41 test "GET is giving user_info" do
42 admin = insert(:user, info: %{"is_admin" => true})
46 |> assign(:user, admin)
47 |> put_req_header("accept", "application/json")
48 |> get("/api/pleroma/admin/permission_group/#{admin.nickname}")
50 assert json_response(conn, 200) == admin.info
53 test "/:right POST, can add to a permission group" do
54 admin = insert(:user, info: %{"is_admin" => true})
59 |> Map.put("is_admin", true)
63 |> assign(:user, admin)
64 |> put_req_header("accept", "application/json")
65 |> post("/api/pleroma/admin/permission_group/#{user.nickname}/admin")
67 assert json_response(conn, 200) == user_info
70 test "/:right DELETE, can remove from a permission group" do
71 admin = insert(:user, info: %{"is_admin" => true})
72 user = insert(:user, info: %{"is_admin" => true})
76 |> Map.put("is_admin", false)
80 |> assign(:user, admin)
81 |> put_req_header("accept", "application/json")
82 |> delete("/api/pleroma/admin/permission_group/#{user.nickname}/admin")
84 assert json_response(conn, 200) == user_info
88 test "/api/pleroma/admin/invite_token" do
89 admin = insert(:user, info: %{"is_admin" => true})
93 |> assign(:user, admin)
94 |> put_req_header("accept", "application/json")
95 |> get("/api/pleroma/admin/invite_token")
97 assert conn.status == 200
100 test "/api/pleroma/admin/password_reset" do
101 admin = insert(:user, info: %{"is_admin" => true})
102 user = insert(:user, info: %{"is_admin" => true})
106 |> assign(:user, admin)
107 |> put_req_header("accept", "application/json")
108 |> get("/api/pleroma/admin/password_reset?nickname=#{user.nickname}")
110 assert conn.status == 200