%%%------------------------------------------------------------------- %%% @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").