36 lines
1.3 KiB
Erlang
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"). |