diff options
author | lain <lain@soykaf.club> | 2020-05-28 16:58:28 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-05-28 16:58:28 +0000 |
commit | f6ddf0cc50ddb7b95e3387fd68a8ba1c9f271d2c (patch) | |
tree | ba880836d319b2cf403ceeed46db85c59b8b4fdf /test/web/admin_api/controllers/admin_api_controller_test.exs | |
parent | ddbf7084e260d072dd7c04972b695c0529c8979b (diff) | |
parent | 047a11c48f2bc88b6b278b6a5acd94807c7e5138 (diff) | |
download | pleroma-f6ddf0cc50ddb7b95e3387fd68a8ba1c9f271d2c.tar.gz |
Merge branch 'feature/1792-update-actor-type' into 'develop'
Validate actor type
See merge request pleroma/pleroma!2593
Diffstat (limited to 'test/web/admin_api/controllers/admin_api_controller_test.exs')
-rw-r--r-- | test/web/admin_api/controllers/admin_api_controller_test.exs | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/test/web/admin_api/controllers/admin_api_controller_test.exs b/test/web/admin_api/controllers/admin_api_controller_test.exs index 321840a8c..ead840186 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -3191,8 +3191,12 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do end describe "PATCH /users/:nickname/credentials" do - test "changes password and email", %{conn: conn, admin: admin} do + setup do user = insert(:user) + [user: user] + end + + test "changes password and email", %{conn: conn, admin: admin, user: user} do assert user.password_reset_pending == false conn = @@ -3222,9 +3226,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do "@#{admin.nickname} forced password reset for users: @#{user.nickname}" end - test "returns 403 if requested by a non-admin" do - user = insert(:user) - + test "returns 403 if requested by a non-admin", %{user: user} do conn = build_conn() |> assign(:user, user) @@ -3236,6 +3238,31 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do assert json_response(conn, :forbidden) end + + test "changes actor type from permitted list", %{conn: conn, user: user} do + assert user.actor_type == "Person" + + assert patch(conn, "/api/pleroma/admin/users/#{user.nickname}/credentials", %{ + "actor_type" => "Service" + }) + |> json_response(200) == %{"status" => "success"} + + updated_user = User.get_by_id(user.id) + + assert updated_user.actor_type == "Service" + + assert patch(conn, "/api/pleroma/admin/users/#{user.nickname}/credentials", %{ + "actor_type" => "Application" + }) + |> json_response(200) == %{"errors" => %{"actor_type" => "is invalid"}} + end + + test "update non existing user", %{conn: conn} do + assert patch(conn, "/api/pleroma/admin/users/non-existing/credentials", %{ + "password" => "new_password" + }) + |> json_response(200) == %{"error" => "Unable to update user."} + end end describe "PATCH /users/:nickname/force_password_reset" do |