fix bot-emulator-users

This commit is contained in:
2026-05-28 21:55:34 +03:00
parent d2483ada15
commit 732e7c81b4
5 changed files with 161 additions and 70 deletions
+18
View File
@@ -71,6 +71,7 @@ test() ->
% ── Фильтрация ──
test_filter_users_by_role(Token),
test_filter_users_by_role_bot(Token), % новый тест
test_filter_users_by_status(Token),
test_filter_combined_role_status(Token),
test_filter_users_by_search(Token, User2Email),
@@ -149,6 +150,23 @@ test_filter_users_by_role(Token) ->
[?assertEqual(<<"bot">>, maps:get(<<"role">>, U)) || U <- Users],
ct:pal(" OK: ~p bot users", [length(Users)]).
%% @doc Фильтрация по роли bot с отдельным пользователем (гарантирует наличие).
-spec test_filter_users_by_role_bot(binary()) -> ok.
test_filter_users_by_role_bot(Token) ->
ct:pal(" TEST: Filter users by role=bot (dedicated user)"),
% Создаём пользователя и сразу назначаем ему роль bot
Email = api_test_runner:unique_email(<<"botfilter">>),
UserTok = api_test_runner:register_and_login(Email, <<"testpass">>),
#{<<"id">> := BotId} = api_test_runner:client_get(<<"/v1/user/me">>, UserTok),
Path = <<"/v1/admin/users/", BotId/binary>>,
api_test_runner:admin_put(Path, Token, #{<<"role">> => <<"bot">>}),
% Теперь фильтр должен вернуть хотя бы этого пользователя
Users = api_test_runner:admin_get(<<"/v1/admin/users?role=bot">>, Token),
?assert(is_list(Users)),
?assert(length(Users) >= 1),
[?assertEqual(<<"bot">>, maps:get(<<"role">>, U)) || U <- Users],
ct:pal(" OK: ~p bot users", [length(Users)]).
%% @doc Фильтрация по статусу.
-spec test_filter_users_by_status(binary()) -> ok.
test_filter_users_by_status(Token) ->