Wyszukiwarka (AppSearchEnginePage)
Ścieżka: /wyszukiwarka Dostęp: Publiczny
TC-ASE-001 — Przełączanie sekcji (Obiekty / Aktywności)
| # | Akcja | Oczekiwany rezultat |
| 1 | Wejdź na stronę — domyślna sekcja | Sprawdź która sekcja jest domyślna (Obiekty lub Aktywności) |
| 2 | Przełącz na sekcję „Aktywności" | Wyniki zmienione na aktywności z datą > dzisiaj, filtry specyficzne dla obiektów znikają, pojawiają się filtry aktywności (poziom, zakres dat, wolne miejsca) |
| 3 | Przełącz z powrotem na „Obiekty" | Wyniki zmienione na obiekty, filtry aktywności znikają, filtry obiektów (udogodnienia, cena) widoczne |
| 4 | Przełącz sekcję — sprawdź URL | Query param section zaktualizowany w URL |
| 5 | Przełącz sekcję | Paginacja resetowana do strony 1, filtry resetowane do domyślnych |
TC-ASE-002 — Wyszukiwanie tekstowe
| # | Akcja | Oczekiwany rezultat |
| 1 | Wpisz frazę i zatwierdź | Wyniki odfiltrowane przez filter[search]=<fraza>, URL zaktualizowany (?q=<fraza>) |
| 2 | Wyczyść pole wyszukiwania | Wyniki bez filtra tekstowego |
| 3 | Wejdź na stronę z ?q=<fraza> w URL | Fraza przywrócona w polu wyszukiwania, wyniki odfiltrowane |
TC-ASE-003 — Filtrowanie obiektów (sekcja Obiekty)
| # | Akcja | Oczekiwany rezultat |
| 1 | Filtruj po mieście | Wyniki zawierają tylko obiekty z podanego miasta |
| 2 | Filtruj po kategorii | Wyniki zawierają tylko obiekty z wybranej kategorii |
| 3 | Ustaw zakres cenowy (price_from / price_to) | Wyniki zawierają tylko obiekty w podanym przedziale cenowym |
| 4 | Zaznacz filtr „Tylko bezpłatne" | Wyniki zawierają tylko bezpłatne obiekty |
| 5 | Zaznacz udogodnienie (np. parking) | Wyniki zawierają tylko obiekty z parkingiem |
| 6 | Zaznacz kilka udogodnień jednocześnie | Wyniki zawierają obiekty posiadające wszystkie zaznaczone udogodnienia |
| 7 | Kliknij „Zastosuj filtry" | Filtry zatwierdzone, wyniki odświeżone, URL zaktualizowany |
TC-ASE-004 — Filtrowanie aktywności (sekcja Aktywności)
| # | Akcja | Oczekiwany rezultat |
| 1 | Sprawdź listę wyników | Wyświetlane wyłącznie aktywności z datą > dzisiaj (filter[date_greater_than_today]=1) |
| 2 | Filtruj po poziomie (beginner / intermediate / advanced) | Wyniki zawierają tylko aktywności z wybranym poziomem |
| 3 | Filtruj po zakresie dat (date_from / date_to) | Wyniki zawierają tylko aktywności w podanym przedziale dat |
| 4 | Zaznacz „Tylko z wolnymi miejscami" | Wyniki zawierają tylko aktywności z dostępnymi slotami |
| 5 | Filtruj po mieście | Wyniki filtrowane przez filter[activity.item.city]=<miasto> |
| 6 | Kliknij „Zastosuj filtry" | Filtry zatwierdzone, wyniki odświeżone, URL zaktualizowany |
TC-ASE-005 — Aktywne filtry i ich usuwanie
| # | Akcja | Oczekiwany rezultat |
| 1 | Zastosuj kilka filtrów | Widoczne tagi aktywnych filtrów nad wynikami |
| 2 | Kliknij „x" przy pojedynczym filtrze | Dany filtr usunięty, wyniki odświeżone |
| 3 | Kliknij „Wyczyść wszystko" | Wszystkie filtry usunięte (poza sekcją), wyniki odświeżone |
TC-ASE-006 — Sortowanie
| # | Opcja sortowania | Oczekiwany rezultat |
| 1 | Domyślne | Wyniki bez jawnego sortowania (backend decyduje) |
| 2 | Najwyżej oceniane (-avg_reviews) | Wyniki posortowane od najwyżej ocenianych |
| 3 | Cena rosnąco (lowest_price) | Wyniki od najtańszych |
| 4 | Cena malejąco (-lowest_price) | Wyniki od najdroższych |
| 5 | Nazwa A-Z (name) | Wyniki posortowane alfabetycznie |
| 6 | Najnowsze (-created_at) | Wyniki od najnowiej dodanych |
| 7 | Zmień sortowanie — sprawdź URL | Query param sort zaktualizowany |
TC-ASE-007 — Paginacja
| # | Akcja | Oczekiwany rezultat |
| 1 | Wyniki > 12 | Widoczna paginacja pod wynikami |
| 2 | Przejdź na stronę 2 | Kolejne 12 wyników załadowane, URL zaktualizowany (?page=2) |
| 3 | Wejdź na stronę z ?page=3 w URL | Wyniki od strony 3 załadowane |
| 4 | Zastosuj filtr na stronie 2 | Powrót do strony 1 |
TC-ASE-008 — Persystencja filtrów w URL
| # | Akcja | Oczekiwany rezultat |
| 1 | Zastosuj filtry i skopiuj URL | Po wejściu na skopiowany URL — te same filtry przywrócone, te same wyniki |
| 2 | Odśwież stronę z filtrami w URL | Filtry odczytane z URL, wyniki odświeżone bez utraty stanu |
| 3 | Wejdź ze strony głównej przez kategorię (?category=<id>) | Filtr kategorii zastosowany automatycznie |
| 4 | Wejdź ze strony głównej przez aktywności (?section=activities) | Sekcja aktywności wybrana automatycznie |
TC-ASE-009 — Rejestracja na aktywność z wyszukiwarki
| # | Akcja | Oczekiwany rezultat |
| 1 | W sekcji Aktywności kliknij „Zapisz się" przy dostępnej aktywności | Otwiera się modal rejestracji z danymi wybranej aktywności |
| 2 | Wypełnij formularz i wyślij | Rezerwacja utworzona, modal zamknięty, modal sukcesu z potwierdzeniem |
| 3 | Wyślij z brakującymi wymaganymi polami | Błędy walidacji widoczne, formularz nie wysłany |
| 4 | Zamknij modal bez wysyłania | Modal zamknięty, wyniki bez zmian |
TC-ASE-010 — Brak wyników
| # | Akcja | Oczekiwany rezultat |
| 1 | Zastosuj filtry dające 0 wyników | Widoczny komunikat o braku wyników z sugestiami (np. wyczyść filtry) |
| 2 | Wyszukaj nieistniejącą frazę | Komunikat o braku wyników, brak błędów |