получение списка администраторов и администратора по ID (любой администратор) #22
This commit is contained in:
@@ -9,12 +9,12 @@
|
||||
%%% DELETE /v1/admin/admins/:id
|
||||
%%%
|
||||
%%% Проверяет:
|
||||
%%% - получение списка администраторов (только суперадмин)
|
||||
%%% - создание нового администратора
|
||||
%%% - получение администратора по ID
|
||||
%%% - обновление администратора
|
||||
%%% - удаление (блокировку) администратора
|
||||
%%% - ошибки 403 для обычного администратора
|
||||
%%% - получение списка администраторов (любой администратор)
|
||||
%%% - создание нового администратора (только суперадмин)
|
||||
%%% - получение администратора по ID (любой администратор)
|
||||
%%% - обновление администратора (только суперадмин)
|
||||
%%% - удаление (блокировку) администратора (только суперадмин)
|
||||
%%% - ошибки 403 для обычного администратора (POST/PUT/DELETE)
|
||||
%%% - ошибки 409 (дубликат email) и 400 (неверная роль) при создании
|
||||
%%% - **фильтрацию** по role и status
|
||||
%%% - **комбинации фильтров** (role + status)
|
||||
@@ -56,10 +56,12 @@ test() ->
|
||||
test_update_admin(SuperToken, maps:get(<<"id">>, Admin1)),
|
||||
test_delete_admin(SuperToken, maps:get(<<"id">>, Admin2)),
|
||||
|
||||
% ── Тесты ограничений для обычного админа ──
|
||||
test_list_admins_forbidden(AdminToken),
|
||||
% ── GET-запросы от обычного администратора (должны проходить) ──
|
||||
test_list_admins(AdminToken),
|
||||
test_get_admin(AdminToken, maps:get(<<"id">>, Admin3)),
|
||||
|
||||
% ── POST/PUT/DELETE от обычного админа (по-прежнему 403) ──
|
||||
test_create_admin_forbidden(AdminToken),
|
||||
test_get_admin_forbidden(AdminToken, maps:get(<<"id">>, Admin3)),
|
||||
test_update_admin_forbidden(AdminToken, maps:get(<<"id">>, Admin3)),
|
||||
test_delete_admin_forbidden(AdminToken, maps:get(<<"id">>, Admin3)),
|
||||
|
||||
@@ -132,13 +134,6 @@ test_delete_admin(Token, AdminId) ->
|
||||
?assertNot(lists:any(fun(A) -> maps:get(<<"id">>, A) =:= AdminId end, Admins)).
|
||||
|
||||
%% ── Тесты ограничений ──
|
||||
-spec test_list_admins_forbidden(binary()) -> ok.
|
||||
test_list_admins_forbidden(Token) ->
|
||||
ct:pal(" TEST: List admins as non-superadmin (403)"),
|
||||
Resp = api_test_runner:admin_request(get, <<"/v1/admin/admins">>, Token),
|
||||
?assertMatch({ok, 403, _, _}, Resp),
|
||||
ct:pal(" OK: got 403").
|
||||
|
||||
-spec test_create_admin_forbidden(binary()) -> ok.
|
||||
test_create_admin_forbidden(Token) ->
|
||||
ct:pal(" TEST: Create admin as non-superadmin (403)"),
|
||||
@@ -147,14 +142,6 @@ test_create_admin_forbidden(Token) ->
|
||||
?assertMatch({ok, 403, _, _}, Resp),
|
||||
ct:pal(" OK: got 403").
|
||||
|
||||
-spec test_get_admin_forbidden(binary(), binary()) -> ok.
|
||||
test_get_admin_forbidden(Token, AdminId) ->
|
||||
ct:pal(" TEST: Get admin by ID as non-superadmin (403)"),
|
||||
Path = <<"/v1/admin/admins/", AdminId/binary>>,
|
||||
Resp = api_test_runner:admin_request(get, Path, Token),
|
||||
?assertMatch({ok, 403, _, _}, Resp),
|
||||
ct:pal(" OK: got 403").
|
||||
|
||||
-spec test_update_admin_forbidden(binary(), binary()) -> ok.
|
||||
test_update_admin_forbidden(Token, AdminId) ->
|
||||
ct:pal(" TEST: Update admin as non-superadmin (403)"),
|
||||
|
||||
@@ -44,7 +44,7 @@ test() ->
|
||||
User3Email = api_test_runner:unique_email(<<"usertest3">>),
|
||||
User3Token = api_test_runner:register_and_login(User3Email, <<"testpass">>),
|
||||
Me3 = api_test_runner:client_get(<<"/v1/user/me">>, User3Token),
|
||||
User3Id = maps:get(<<"id">>, Me3),
|
||||
_User3Id = maps:get(<<"id">>, Me3),
|
||||
|
||||
% Обновляем пользователей, чтобы получить разные роли и статусы
|
||||
% User1: роль bot, статус frozen (для тестов фильтрации)
|
||||
|
||||
Reference in New Issue
Block a user