Stage 10 final

This commit is contained in:
2026-04-22 23:15:20 +03:00
parent e3a08cfa04
commit 081dcf9588
85 changed files with 2116 additions and 160 deletions

View File

@@ -0,0 +1,37 @@
-module(api_tickets_tests).
-export([test/0]).
-define(BASE_URL, "http://localhost:8080").
test() ->
io:format("Testing tickets API...~n"),
AdminToken = api_test_runner:get_admin_token(),
UserToken = api_test_runner:get_user_token(),
% TEST 1: Report error
io:format(" TEST 1: Report error... "),
TicketId = api_test_runner:extract_json(
api_test_runner:http_post("/v1/tickets",
#{error_message => <<"Test bug">>, stacktrace => <<"line 1">>}, UserToken), <<"id">>),
io:format("OK~n"),
% TEST 2: Admin views tickets
io:format(" TEST 2: Admin views tickets... "),
{ok, {{_, 200, _}, _, _}} = api_test_runner:http_get("/v1/admin/tickets", AdminToken),
io:format("OK~n"),
% TEST 3: Update ticket status
io:format(" TEST 3: Update ticket status... "),
{ok, {{_, 200, _}, _, _}} = api_test_runner:http_put("/v1/admin/tickets/" ++ binary_to_list(TicketId),
#{action => <<"status">>, status => <<"in_progress">>}, AdminToken),
io:format("OK~n"),
% TEST 4: Close ticket
io:format(" TEST 4: Close ticket... "),
{ok, {{_, 200, _}, _, _}} = api_test_runner:http_put("/v1/admin/tickets/" ++ binary_to_list(TicketId),
#{action => <<"close">>}, AdminToken),
io:format("OK~n"),
io:format("~n✅ Tickets API tests passed!~n"),
{?MODULE, ok}.