This commit is contained in:
@@ -90,19 +90,26 @@ test_add_word(Token) ->
|
||||
NewWord = <<"newbadword", Unique/binary>>,
|
||||
Result = api_test_runner:admin_post(<<"/v1/admin/banned-words">>, Token, #{<<"word">> => NewWord}),
|
||||
?assertEqual(<<"added">>, maps:get(<<"status">>, Result)),
|
||||
Words = api_test_runner:admin_get(<<"/v1/admin/banned-words">>, Token),
|
||||
?assert(lists:any(fun(W) -> maps:get(<<"word">>, W) =:= NewWord end, Words)),
|
||||
% Проверяем, что слово найдено через поиск по точному совпадению
|
||||
Found = api_test_runner:admin_get(<<"/v1/admin/banned-words?q=", NewWord/binary>>, Token),
|
||||
?assertEqual(1, length(Found)),
|
||||
?assertEqual(NewWord, maps:get(<<"word">>, hd(Found))),
|
||||
ct:pal(" OK").
|
||||
|
||||
%% @doc PUT /v1/admin/banned-words/:word – редактирование слова.
|
||||
test_update_word(Token, Word) ->
|
||||
ct:pal(" TEST: Update a banned word"),
|
||||
NewWord = <<Word/binary, "_updated">>,
|
||||
Result = api_test_runner:admin_put(<<"/v1/admin/banned-words/", Word/binary>>, Token, #{<<"word">> => NewWord}),
|
||||
Path = <<"/v1/admin/banned-words/", Word/binary>>,
|
||||
Result = api_test_runner:admin_put(Path, Token, #{<<"word">> => NewWord}),
|
||||
?assertEqual(<<"updated">>, maps:get(<<"status">>, Result)),
|
||||
Words = api_test_runner:admin_get(<<"/v1/admin/banned-words">>, Token),
|
||||
?assertNot(lists:any(fun(W) -> maps:get(<<"word">>, W) =:= Word end, Words)),
|
||||
?assert(lists:any(fun(W) -> maps:get(<<"word">>, W) =:= NewWord end, Words)),
|
||||
% Проверяем, что новое слово существует (поиск возвращает ровно 1 запись)
|
||||
NewSearch = api_test_runner:admin_get(<<"/v1/admin/banned-words?q=", NewWord/binary>>, Token),
|
||||
?assertEqual(1, length(NewSearch)),
|
||||
?assertEqual(NewWord, maps:get(<<"word">>, hd(NewSearch))),
|
||||
% Проверяем, что старое слово отсутствует: все найденные слова не равны старому
|
||||
OldSearch = api_test_runner:admin_get(<<"/v1/admin/banned-words?q=", Word/binary>>, Token),
|
||||
?assert(lists:all(fun(W) -> maps:get(<<"word">>, W) =/= Word end, OldSearch)),
|
||||
ct:pal(" OK").
|
||||
|
||||
%% @doc POST /v1/admin/banned-words/batch – массовая загрузка.
|
||||
|
||||
Reference in New Issue
Block a user