Przejdź do treści

Edycja terminu zajęć (ActivityItemEditPage)

Ścieżka: /panel/activity-item/:id/edit Dostęp: Zalogowany — role: Admin, Supervisor, Employee


TC-AIE-001 — Ładowanie danych

# Akcja Oczekiwany rezultat
1 Wejdź na stronę edycji istniejącego terminu Formularz wypełniony aktualnymi danymi: data, godziny, poziom, termin rezerwacji, komentarz
2 Sprawdź pole prowadzącego Aktualny prowadzący załadowany przez server-side search (per_page: 1, filter[id])
3 Wejdź z błędnym ID terminu Komunikat o błędzie lub przekierowanie, brak crashu

TC-AIE-002 — Pola zablokowane w trybie edycji

# Akcja Oczekiwany rezultat
1 Sprawdź pole wyboru aktywności Pole niewidoczne — aktywność terminu nie jest edytowalna
2 Sprawdź pole „Aktywny" (is_active) Pole niewidoczne — status nie jest edytowalny z tego formularza
3 Sprawdź pole „Liczba powtórzeń" (how_many_repeat_times) Pole niewidoczne — powtarzanie dotyczy tylko tworzenia

TC-AIE-003 — Edycja pól podstawowych

# Akcja Oczekiwany rezultat
1 Zmień datę terminu i zapisz Data zaktualizowana
2 Zmień godzinę startu i zapisz Godzina startu zaktualizowana
3 Zmień godzinę końca i zapisz Godzina końca zaktualizowana
4 Zmień poziom i zapisz Poziom zaktualizowany
5 Zmień termin rezerwacji w godzinach i zapisz Nowa wartość zapisana
6 Zmień komentarz i zapisz Komentarz zaktualizowany
7 Wyczyść komentarz i zapisz Komentarz wyczyszczony — pole opcjonalne

TC-AIE-004 — Walidacja

# Akcja Oczekiwany rezultat
1 Wyczyść datę i zapisz Błąd walidacji przy polu daty
2 Wyczyść godzinę startu i zapisz Błąd walidacji przy polu godziny startu
3 Wyczyść godzinę końca i zapisz Błąd walidacji przy polu godziny końca
4 Ustaw godzinę końca wcześniejszą niż startu i zapisz Zweryfikuj czy backend zwraca błąd walidacji
5 Ustaw reservation_deadline_hours ujemne i zapisz Błąd walidacji — wymagana wartość ≥ 0

TC-AIE-005 — Edycja prowadzącego

# Akcja Oczekiwany rezultat
1 Zmień prowadzącego (server-side search) Nowy prowadzący załadowany i wybrany
2 Przypisz prowadzącego z konfliktem czasowym (bez force_add_trainer) Backend zwraca błąd — prowadzący ma inny termin
3 Zaznacz „Wymuś przypisanie prowadzącego" przy konflikcie Ostrzeżenie widoczne, formularz możliwy do wysłania
4 Zapisz z force_add_trainer = true i konfliktem Backend akceptuje — prowadzący przypisany mimo konfliktu
5 Usuń prowadzącego (wyczyść pole) i zapisz Termin zapisany bez prowadzącego — pole opcjonalne

TC-AIE-006 — Zapis i nawigacja

# Akcja Oczekiwany rezultat
1 Zapisz zmiany gdy termin ma activity_id Przekierowanie na stronę szczegółów powiązanej aktywności (activity-detail-page)
2 Zapisz zmiany gdy termin nie ma activity_id Powrót do poprzedniej strony (router.go(-1))
3 Kliknij „Anuluj" Powrót do poprzedniej strony bez zapisu
4 Błąd backendu przy zapisie Błędy walidacji przy odpowiednich polach, brak przekierowania