Przejdź do treści

Strona szczegółów obiektu (AppItemPage)

Ścieżka: /obiekty/:id Dostęp: Publiczny


TC-AIP-001 — Ładowanie danych obiektu

# Akcja Oczekiwany rezultat
1 Wejdź na stronę istniejącego obiektu Dane obiektu załadowane: nazwa, opis, lokalizacja, udogodnienia, oceny
2 Wejdź na stronę nieistniejącego obiektu (błędne ID) Komunikat o błędzie lub przekierowanie, brak crashu
3 Przejdź z jednego obiektu do innego (zmiana ID w URL) Dane odświeżone, stare dane nie są widoczne

TC-AIP-002 — Nawigacja zakładkami

# Akcja Oczekiwany rezultat
1 Kliknij zakładkę „Opis" Opis obiektu, udogodnienia, parametry (powierzchnia, pojemność)
2 Kliknij zakładkę „Kalendarz" Kalendarz dostępności z możliwością wyboru dat
3 Kliknij zakładkę „Cennik" Informacje o cenach (jeśli is_public_price_list = true)
4 Kliknij zakładkę „Opinie" Lista opinii
5 Kliknij zakładkę „Lokalizacja" Adres, link do Google Maps, dane kontaktowe zarządców
6 Kliknij zakładkę „Aktywności" Lista aktywności powiązanych z obiektem
7 Kliknij zakładkę „Powiązane obiekty" Lista podobiektów (powiązanych przez parent_id)
8 Kliknij CTA „Sprawdź dostępność" Przewinięcie do zakładki Kalendarz

TC-AIP-003 — Cennik

# Akcja Oczekiwany rezultat
1 Obiekt płatny z publicznym cennikiem (is_public_price_list = true) Ceny widoczne w zakładce Cennik
2 Obiekt płatny z niepublicznym cennikiem (is_public_price_list = false) Ceny ukryte lub zastąpione komunikatem
3 Obiekt bezpłatny (is_paid = false) Brak sekcji cennika lub widoczna informacja o bezpłatnym dostępie
4 Sprawdź wyświetlanie ceny bieżącej i najniższej (z ostatnich 30 dni) Obie wartości widoczne jeśli różne

TC-AIP-004 — Wybór dat w kalendarzu

# Akcja Oczekiwany rezultat
1 Kliknij dostępny dzień w kalendarzu Dzień zaznaczony, pojawia się w panelu wybranych dat
2 Kliknij ponownie zaznaczony dzień Dzień odznaczony, znika z panelu
3 Zaznacz kilka dni Wszystkie dni widoczne w panelu, posortowane chronologicznie
4 Kliknij „Usuń" przy konkretnej dacie w panelu Tylko ta data usunięta, pozostałe zachowane
5 Zaznacz datę w przeszłości Zweryfikuj czy backend/frontend blokuje rezerwację przeszłych dat
6 Kliknij „Wyczyść wszystko" Wszystkie zaznaczenia usunięte, powrót do widoku kalendarza

TC-AIP-005 — Sloty godzinowe

# Akcja Oczekiwany rezultat
1 Zaznacz datę — sprawdź domyślne godziny Slot wypełniony domyślnymi godzinami z obiektu (reservation_start_time / reservation_end_time)
2 Zmień godzinę rozpoczęcia lub zakończenia slotu Slot zaktualizowany dla tej konkretnej daty
3 Ustaw godzinę zakończenia wcześniejszą niż rozpoczęcia Zweryfikuj czy walidacja blokuje niepoprawny zakres godzin
4 Zaznacz wiele dat i zmień godziny dla każdej osobno Każda data ma niezależny slot godzinowy

TC-AIP-006 — Formularz rezerwacji i złożenie

# Akcja Oczekiwany rezultat
1 Zaznacz daty i kliknij „Przejdź do formularza" Widok przechodzi do formularza z listą wybranych slotów
2 Wypełnij formularz poprawnymi danymi i wyślij Rezerwacja utworzona, kalendarz odświeżony, modal sukcesu z adresem e-mail
3 Wyślij formularz bez zaznaczonych dat Formularz zablokowany lub komunikat o konieczności wyboru dat
4 Wyślij z brakującymi wymaganymi polami Błędy walidacji przy odpowiednich polach
5 Zaznacz „Firma" w formularzu Pola NIP, REGON, nazwa firmy stają się dostępne
6 Wyślij jako firma z poprawnymi danymi Rezerwacja z danymi firmowymi utworzona
7 Zamknij formularz przed wysłaniem Powrót do widoku kalendarza, zaznaczenia zachowane lub wyczyszczone — zweryfikuj

TC-AIP-007 — Opinie (infinite scroll)

# Akcja Oczekiwany rezultat
1 Otwórz zakładkę Opinie Pierwsza strona załadowana (5 rekordów)
2 Przewiń do końca listy Automatycznie ładowana kolejna strona
3 Brak kolejnych opinii Ładowanie zatrzymane, brak błędów
4 Obiekt bez opinii Komunikat o braku opinii

TC-AIP-008 — Aktywności powiązane z obiektem

# Akcja Oczekiwany rezultat
1 Otwórz zakładkę Aktywności Lista aktywności przypisanych do obiektu (tylko aktywne, per_page: 20)
2 Obiekt bez aktywności Komunikat o braku aktywności
3 Kliknij kartę aktywności Przekierowanie na stronę szczegółów aktywności

TC-AIP-009 — Powiązane obiekty (podobiekte)

# Akcja Oczekiwany rezultat
1 Obiekt ma podobiekte (parent_id) Zakładka „Powiązane obiekty" widoczna, lista załadowana (6 per_page)
2 Przejdź do kolejnej strony powiązanych obiektów Paginacja działa, kolejne obiekty załadowane
3 Kliknij powiązany obiekt Przekierowanie na jego stronę szczegółów

TC-AIP-010 — Lokalizacja i kontakt

# Akcja Oczekiwany rezultat
1 Otwórz zakładkę Lokalizacja Wyświetlony pełny adres obiektu
2 Kliknij link do Google Maps Otwiera Google Maps z adresem obiektu
3 Kliknij „Kopiuj adres" Pełny adres skopiowany do schowka
4 Sprawdź dane zarządców Widoczne dane kontaktowe (telefon, e-mail) zarządców obiektu

TC-AIP-011 — Ulubione i udostępnianie

# Akcja Oczekiwany rezultat
1 Kliknij „Dodaj do ulubionych" Obiekt zapisany w localStorage (app_item_favorites), ikona zmienia stan
2 Odśwież stronę Stan ulubionych zachowany
3 Kliknij ponownie (usuń z ulubionych) Obiekt usunięty z localStorage
4 Kliknij „Udostępnij" (urządzenie wspiera Web Share API) Otwiera systemowy dialog udostępniania
5 Kliknij „Udostępnij" (brak Web Share API) URL skopiowany do schowka