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) == %{
52 "is_moderator" => false
56 test "/:right POST, can add to a permission group" do
57 admin = insert(:user, info: %{is_admin: true})
62 |> assign(:user, admin)
63 |> put_req_header("accept", "application/json")
64 |> post("/api/pleroma/admin/permission_group/#{user.nickname}/admin")
66 assert json_response(conn, 200) == %{
71 test "/:right DELETE, can remove from a permission group" do
72 admin = insert(:user, info: %{is_admin: true})
73 user = insert(:user, info: %{is_admin: true})
77 |> assign(:user, admin)
78 |> put_req_header("accept", "application/json")
79 |> delete("/api/pleroma/admin/permission_group/#{user.nickname}/admin")
81 assert json_response(conn, 200) == %{
87 test "/api/pleroma/admin/invite_token" do
88 admin = insert(:user, info: %{is_admin: true})
92 |> assign(:user, admin)
93 |> put_req_header("accept", "application/json")
94 |> get("/api/pleroma/admin/invite_token")
96 assert conn.status == 200
99 test "/api/pleroma/admin/password_reset" do
100 admin = insert(:user, info: %{is_admin: true})
105 |> assign(:user, admin)
106 |> put_req_header("accept", "application/json")
107 |> get("/api/pleroma/admin/password_reset?nickname=#{user.nickname}")
109 assert conn.status == 200