Konfiguracja systemu (ConfigurationPage)
Ścieżka: /panel/configuration Dostęp: Zalogowany — rola: wyłącznie Admin
TC-CFG-001 — Uprawnienia dostępu
| # | Akcja | Oczekiwany rezultat |
| 1 | Wejdź jako Admin | Strona dostępna, lista konfiguracji załadowana |
| 2 | Wejdź jako Supervisor lub Employee | Brak dostępu — przekierowanie lub komunikat o braku uprawnień |
TC-CFG-002 — Wyświetlanie listy
| # | Akcja | Oczekiwany rezultat |
| 1 | Wejdź na stronę | Lista konfiguracji załadowana z paginacją |
| 2 | Sprawdź kolumnę „Wartość" dla rekordu typu array | Wyświetlona informacja „Brak podglądu" zamiast wartości |
| 3 | Sprawdź kolumnę „Wartość" dla rekordu boolean | Wyświetlona wartość „Tak" lub „Nie" |
| 4 | Sprawdź kolumnę „Wartość" dla rekordu bez wartości | Wyświetlone „-" |
| 5 | Sprawdź kolumnę „Zaktualizowano" | Data ostatniej modyfikacji lub „-" gdy pusta |
TC-CFG-003 — Edycja wartości tekstowej (string)
| # | Akcja | Oczekiwany rezultat |
| 1 | Kliknij „Edytuj" przy konfiguracji typu string | Modal otwiera się z aktualną wartością w polu tekstowym |
| 2 | Zmień wartość i zapisz | Wartość zaktualizowana, modal zamknięty, lista odświeżona |
| 3 | Wyczyść pole i spróbuj zapisać | Przycisk „Zapisz" nieaktywny — wartość wymagana |
| 4 | Wpisz samą spację i spróbuj zapisać | Przycisk „Zapisz" nieaktywny — whitespace odrzucony |
TC-CFG-004 — Edycja wartości liczbowej (int / numeric)
| # | Akcja | Oczekiwany rezultat |
| 1 | Kliknij „Edytuj" przy konfiguracji typu int/numeric | Modal otwiera się z aktualną wartością w polu liczbowym |
| 2 | Zmień wartość na liczbę i zapisz | Wartość zaktualizowana |
| 3 | Wyczyść pole i spróbuj zapisać | Przycisk „Zapisz" nieaktywny — wartość wymagana |
| 4 | Wpisz tekst zamiast liczby | Przycisk „Zapisz" nieaktywny — NaN odrzucony |
TC-CFG-005 — Edycja wartości boolean
| # | Akcja | Oczekiwany rezultat |
| 1 | Kliknij „Edytuj" przy konfiguracji typu boolean | Modal otwiera się z togglem ustawionym na aktualną wartość |
| 2 | Przełącz toggle i zapisz | Wartość zaktualizowana (true/false) |
| 3 | Sprawdź dostępność przycisku „Zapisz" | Przycisk zawsze aktywny — oba stany boolean są prawidłowe |
| # | Akcja | Oczekiwany rezultat |
| 1 | Kliknij „Edytuj" przy konfiguracji array | Modal otwiera się z wartościami w textarea (jeden element na linię lub JSON) |
| 2 | Wpisz elementy po jednym na linię i zapisz | Tablica zapisana, każda niepusta linia to oddzielny element |
| 3 | Wpisz puste linie między elementami | Puste linie zignorowane, licznik elementów nie uwzględnia ich |
| 4 | Wyczyść textarea | Przycisk „Zapisz" nieaktywny — brak elementów |
| # | Akcja | Oczekiwany rezultat |
| 1 | Wartość w textarea zaczyna się od [ lub { | Pole przełączone w tryb JSON, placeholder i helptext JSON, textarea większa (12 wierszy) |
| 2 | Wpisz poprawną tablicę JSON i zapisz | Dane sparsowane jako JSON, zapisane |
| 3 | Wpisz niepoprawny JSON (zaczyna się od [) | Fallback do parsowania linia-po-linii, licznik elementów 0 gdy brak linii |
| 4 | Sprawdź licznik elementów | Dla JSON array: liczba elementów; dla JSON object: 1; dla tekstu: liczba niepustych linii |
TC-CFG-008 — Modal — zachowanie ogólne
| # | Akcja | Oczekiwany rezultat |
| 1 | Kliknij „Anuluj" w modalu | Modal zamknięty, brak zapisu zmian |
| 2 | Zapisz zmiany z błędem backendu | Błędy walidacji widoczne przy polu wartości, modal pozostaje otwarty |
| 3 | Zapisz poprawnie | Toast sukcesu, modal zamknięty, lista odświeżona |
TC-CFG-009 — Paginacja
| # | Akcja | Oczekiwany rezultat |
| 1 | Przejdź na kolejną stronę | Lista odświeżona dla wybranej strony |
| 2 | Zmień liczbę wyników na stronę | Lista przeładowana z nową wartością per_page |