Files
EventHubBack/test/api/admins/admin_me_tests.erl

36 lines
1.3 KiB
Erlang

%%%-------------------------------------------------------------------
%%% @doc Тесты административного API для профиля текущего администратора.
%%% Покрывает GET /v1/admin/me и PUT /v1/admin/me.
%%% @end
%%%-------------------------------------------------------------------
-module(admin_me_tests).
-include_lib("eunit/include/eunit.hrl").
-export([test/0]).
-spec test() -> ok.
test() ->
ct:pal("=== Admin Me Tests ==="),
Token = api_test_runner:get_admin_token(),
test_get_me(Token),
test_update_me(Token),
ct:pal("=== All admin me tests passed ==="),
ok.
test_get_me(Token) ->
ct:pal(" TEST: Get current admin profile"),
Me = api_test_runner:admin_get(<<"/v1/admin/me">>, Token),
?assert(is_map(Me)),
?assert(maps:is_key(<<"id">>, Me)),
?assert(maps:is_key(<<"email">>, Me)),
ct:pal(" OK: got profile for ~s", [maps:get(<<"email">>, Me)]).
test_update_me(Token) ->
ct:pal(" TEST: Update current admin profile"),
Updated = api_test_runner:admin_put(<<"/v1/admin/me">>, Token,
#{nickname => <<"TestNick">>, timezone => <<"UTC">>}),
?assertEqual(<<"TestNick">>, maps:get(<<"nickname">>, Updated)),
?assertEqual(<<"UTC">>, maps:get(<<"timezone">>, Updated)),
ct:pal(" OK").