Zadanie: publiczna dokumentacja OpenAPI
Przygotuj testy API w Playwright, które sprawdzą, czy publiczna dokumentacja OpenAPI i Swagger UI są dostępne.
W tym zadaniu nie testujemy jeszcze endpointów wymagających zalogowania. Chodzi o proste publiczne GET-y i o przećwiczenie pracy z agentem AI jako partnerem technicznym.
Użyj publicznych endpointów:
GET /v3/api-docs
GET /swagger-ui/index.html
Te endpointy nie wymagają autoryzacji JWT.
Jak pracować z agentem AI
W tym zadaniu użyj agenta AI do rozwiązania problemu, ale nie zaczynaj od polecenia "napisz test".
Przejdź przez cały workflow:
- Najpierw zapytaj agenta, jak podszedłby do tego zadania.
- Poproś agenta, żeby przed implementacją sprawdził endpointy przez
curl. - Poproś o użycie
jqdo podejrzenia najważniejszych pól w odpowiedzi OpenAPI. - W trakcie planowania albo review zapytaj, czy warto wydzielić utilsy/helpery do parsowania JSON-a.
- Dopiero potem poproś agenta o implementację testów.
- Po implementacji poproś agenta o review aktualnego diffu.
- Upewnij się, że agent uruchomił nowe testy i potem cały zestaw testów.
Chodzi o przećwiczenie pracy z agentem jako partnerem technicznym:
- najpierw konsultacja,
- potem eksploracja,
- następnie implementacja,
- na końcu review.
Curl, jq i eksploracja
Przed implementacją zadania warto poprosić agenta o eksplorację endpointów.
Dobry prompt może zawierać prośbę o użycie:
curl
jq
curl pozwala szybko sprawdzić odpowiedź HTTP, a jq pomaga pracować z JSON-em w terminalu. Dla endpointa /v3/api-docs to szczególnie przydatne, bo odpowiedź jest duża i zawiera wiele pól.
Warto też zapytać agenta, czy w testach przydadzą się helpery do parsowania i sprawdzania JSON-a. Nie chodzi o tworzenie abstrakcji na siłę, tylko o świadomą decyzję: jeśli helper upraszcza testy, warto go dodać; jeśli zaciemnia prosty test, lepiej zostać przy bezpośrednich asercjach.
Wymagania
Napisz testy API w Playwright, które:
- Wysyłają
GET /v3/api-docs. - Sprawdzają, że status odpowiedzi to
200. - Sprawdzają, że odpowiedź jest JSON-em.
- Parsują body odpowiedzi jako JSON.
- Sprawdzają, że pole
openapiistnieje i zaczyna się od3.. - Sprawdzają, że
info.titleistnieje. - Sprawdzają, że
pathsistnieje i jest obiektem. - Wysyłają
GET /swagger-ui/index.html. - Sprawdzają, że status odpowiedzi to
200. - Sprawdzają, że odpowiedź jest HTML-em albo zawiera tekst charakterystyczny dla Swagger UI.
Sugerowana nazwa testu
OpenAPI docs and Swagger UI are publicly available
Review po implementacji
Po wygenerowaniu kodu poproś agenta o review, na przykład:
Analyse current git diff changes. Is it safe to commit them? Perform a code review. Can things be simplified? Check whether JSON parsing/assertion helpers would make sense here.
W review zwróć uwagę szczególnie na:
- czy test jest czytelny,
- czy asercje są konkretne,
- czy kod nie duplikuje niepotrzebnie parsowania JSON-a,
- czy ewentualne helpery faktycznie upraszczają test,
- czy testy zostały uruchomione.
