Сделано подтверждение регистрации пользователей #22

This commit is contained in:
2026-05-27 21:44:13 +03:00
parent b78df927dd
commit 4444461ee3
17 changed files with 358 additions and 48 deletions
+12 -5
View File
@@ -22,7 +22,7 @@
-spec test() -> ok.
test() ->
ct:pal("=== User Refresh Tests ==="),
Token = api_test_runner:get_user_token(),
_Token = api_test_runner:get_user_token(),
% Получаем refresh_token через логин (или регистрацию)
Email = api_test_runner:unique_email(<<"refresh">>),
@@ -76,13 +76,20 @@ test_missing_refresh_token() ->
%%% Вспомогательные функции
%%%===================================================================
%% @doc Регистрирует пользователя, выполняет логин и возвращает refresh_token.
%% @doc Регистрирует пользователя, подтверждает email через админку
%% и возвращает результат логина (с refresh_token).
-spec register_and_get_refresh(binary(), binary()) -> map().
register_and_get_refresh(Email, Password) ->
% Регистрируем
_ = api_test_runner:client_request(post, <<"/v1/register">>, <<>>,
% Регистрируем пользователя
{ok, 201, _, RegBody} = api_test_runner:client_request(post, <<"/v1/register">>, <<>>,
jsx:encode(#{email => Email, password => Password})),
% Логинимся, чтобы получить refresh_token
#{<<"user">> := #{<<"id">> := UserId}} = jsx:decode(list_to_binary(RegBody), [return_maps]),
% Верифицируем аккаунт (получаем токен через админку и подтверждаем)
AdminToken = api_test_runner:get_admin_token(),
api_test_runner:verify_user(AdminToken, UserId),
% Логинимся, чтобы получить access_token и refresh_token
{ok, 200, _, Body} = api_test_runner:client_request(post, <<"/v1/login">>, <<>>,
jsx:encode(#{email => Email, password => Password})),
jsx:decode(list_to_binary(Body), [return_maps]).