Edycja obiektu (ItemEditPage)
Ścieżka: /panel/item/:id/edit Dostęp: Zalogowany — role: Admin, Supervisor, Employee
TC-ITE-001 — Ładowanie danych
| # | Akcja | Oczekiwany rezultat |
| 1 | Wejdź na stronę edycji istniejącego obiektu | Formularz wypełniony aktualnymi danymi: organizacja, kategoria, nazwa, opis, adres, cennik, parametry, udogodnienia |
| 2 | Sprawdź pole organizacji | Aktualna organizacja załadowana przez server-side search (per_page: 1, filter[id]) |
| 3 | Sprawdź pole kategorii | Aktualna kategoria załadowana przez server-side search (per_page: 1, filter[id]) |
| 4 | Sprawdź pole obiektu nadrzędnego | Jeśli przypisany — załadowany przez server-side search (per_page: 1, filter[id]) |
| 5 | Wejdź z błędnym ID obiektu | Komunikat o błędzie lub przekierowanie, brak crashu |
TC-ITE-002 — Pola zablokowane w trybie edycji
| # | Akcja | Oczekiwany rezultat |
| 1 | Sprawdź pole „Aktywny" (is_active) | Pole niewidoczne — status edytowany poza formularzem |
| 2 | Sprawdź pole „Przypisz jako menedżer" | Pole niewidoczne — tylko w trybie tworzenia |
TC-ITE-003 — Edycja pól podstawowych
| # | Akcja | Oczekiwany rezultat |
| 1 | Zmień nazwę i zapisz | Nazwa zaktualizowana |
| 2 | Zmień kategorię (server-side search, min. 4 znaki) | Nowa kategoria zapisana |
| 3 | Zmień organizację | Pole obiektu nadrzędnego automatycznie wyczyszczone |
| 4 | Zmień opis i zapisz | Opis zaktualizowany |
| 5 | Wyczyść opis i zapisz | Opis wyczyszczony — pole opcjonalne |
TC-ITE-004 — Obiekt nadrzędny
| # | Akcja | Oczekiwany rezultat |
| 1 | Wpisz min. 4 znaki w polu obiektu nadrzędnego | Lista aktywnych obiektów tej organizacji (bieżący obiekt i jego dzieci wykluczone) |
| 2 | Zmień obiekt nadrzędny i zapisz | Nowy obiekt nadrzędny zapisany |
| 3 | Wyczyść obiekt nadrzędny i zapisz | Obiekt zapisany bez rodzica — pole opcjonalne |
TC-ITE-005 — Sekcja cennika (warunkowa)
| # | Akcja | Oczekiwany rezultat |
| 1 | Obiekt ma is_paid = false | Sekcja cennika niewidoczna |
| 2 | Włącz toggle is_paid | Sekcja cennika pojawia się: cena brutto, stawka VAT, widoczność |
| 3 | Zmień cenę brutto | Kwota netto obliczona automatycznie na podstawie wybranej stawki VAT |
| 4 | Zmień stawkę VAT | Kwota netto przeliczona |
| 5 | Wyłącz is_public_price_list | Ostrzeżenie: cennik prywatny — klient nie zobaczy ceny |
TC-ITE-006 — Adres i TERYT
| # | Akcja | Oczekiwany rezultat |
| 1 | Sprawdź pre-fill adresu | Pola TERYT i adresowe wypełnione danymi z API |
| 2 | Zmień lokalizację w selektorze TERYT | Pola adresowe zaktualizowane, niższe poziomy resetowane przy zmianie województwa |
| 3 | Zmień ulicę i numer i zapisz | Nowy adres zapisany |
TC-ITE-007 — Plik regulaminu (PDF)
| # | Akcja | Oczekiwany rezultat |
| 1 | Wgraj nowy plik .pdf o rozmiarze < 10 MB | Plik zaakceptowany, po zapisie zaktualizowany |
| 2 | Wgraj plik > 10 MB | Błąd walidacji — przekroczony limit rozmiaru |
| 3 | Wgraj plik innego formatu | Błąd walidacji — dozwolony tylko PDF |
| 4 | Nie zmieniaj pliku i zapisz | Istniejący regulamin zachowany |
TC-ITE-008 — Walidacja
| # | Akcja | Oczekiwany rezultat |
| 1 | Wyczyść nazwę i zapisz | Błąd walidacji przy polu nazwy |
| 2 | Wyczyść organizację i zapisz | Błąd walidacji przy polu organizacji |
| 3 | Wyczyść kategorię i zapisz | Błąd walidacji przy polu kategorii |
| 4 | Wyczyść godzinę startu rezerwacji i zapisz | Błąd walidacji przy polu godziny startu |
TC-ITE-009 — Zapis i nawigacja
| # | Akcja | Oczekiwany rezultat |
| 1 | Zapisz poprawne zmiany | Obiekt zaktualizowany, przekierowanie na listę obiektów (item-page) |
| 2 | Kliknij „Anuluj" | Powrót do poprzedniej strony bez zapisu |
| 3 | Błąd backendu przy zapisie | Błędy walidacji widoczne przy odpowiednich polach, brak przekierowania |