Przejdź do treści

Strona logowania dostępowego (AccessLoginPage)

Ścieżka: /panel-informacji Dostęp: Publiczny


TC-ALG-001 — Przekierowanie zalogowanego użytkownika

# Akcja Oczekiwany rezultat
1 Wejdź na /panel-informacji mając aktywną sesję klienta Automatyczne przekierowanie do panelu klienta
2 Wejdź na /panel-informacji mając aktywną sesję trenera Automatyczne przekierowanie do panelu trenera
3 Wejdź na /panel-informacji bez sesji Formularz logowania widoczny, brak przekierowania

TC-ALG-002 — Poprawne logowanie

# Akcja Oczekiwany rezultat
1 Zaloguj jako klient (poprawny e-mail + PIN, typ: klient) Sesja zapisana w sessionStorage, przekierowanie do panelu klienta
2 Zaloguj jako trener (poprawny e-mail + PIN, typ: trener) Sesja zapisana w sessionStorage, przekierowanie do panelu trenera
3 Po przekierowaniu sprawdź sessionStorage Klucze access_token, access_expires_at, access_entity_type, access_entity są wypełnione

TC-ALG-003 — Niepoprawne dane logowania

# Akcja Oczekiwany rezultat
1 Podaj błędny PIN (poprawny e-mail, zły PIN) Błąd 401 — komunikat o nieprawidłowych danych, sesja nie zostaje utworzona
2 Podaj błędny e-mail (zły e-mail, poprawny PIN) Błąd 401 — komunikat o nieprawidłowych danych
3 Podaj poprawne dane, ale zły typ encji (e-mail klienta + typ trener) Błąd 401/403 — logowanie nieudane

TC-ALG-004 — Walidacja formatu danych

# Akcja Oczekiwany rezultat
1 Podaj PIN krótszy niż 6 cyfr Logowanie zablokowane — PIN musi mieć dokładnie 6 cyfr
2 Podaj PIN dłuższy niż 6 cyfr Logowanie zablokowane — PIN musi mieć dokładnie 6 cyfr
3 Podaj PIN zawierający litery (np. abc123) Logowanie zablokowane — PIN musi składać się wyłącznie z cyfr
4 Podaj nieprawidłowy format e-mail (np. user@) Logowanie zablokowane — walidacja formatu e-mail

TC-ALG-005 — Rate limiting (zbyt wiele prób logowania)

# Akcja Oczekiwany rezultat
1 Wykonaj wielokrotne nieudane próby logowania aż do odpowiedzi 429 Przycisk logowania zostaje zablokowany, wyświetlony czas pozostały do odblokowania
2 Poczekaj do upływu czasu blokady Formularz logowania zostaje odblokowany automatycznie
3 Odśwież stronę podczas aktywnej blokady Blokada nadal aktywna — czas wyliczany względem serwera, nie zegara przeglądarki

TC-ALG-006 — Wybór typu encji (klient / trener)

# Akcja Oczekiwany rezultat
1 Przełącz typ z trenera na klienta i zaloguj Sesja tworzona z entity_type = 'client', przekierowanie do panelu klienta
2 Przełącz typ z klienta na trenera i zaloguj Sesja tworzona z entity_type = 'trainer', przekierowanie do panelu trenera
3 Domyślny typ przy wejściu na stronę Domyślnie wybrany typ: trener

TC-ALG-007 — Sesja po zamknięciu karty

# Akcja Oczekiwany rezultat
1 Zaloguj się, zamknij kartę przeglądarki, otwórz ponownie /panel-informacji Brak sesji (sessionStorage wyczyszczony) — formularz logowania widoczny
2 Zaloguj się, otwórz nową kartę w tej samej przeglądarce Nowa karta nie ma dostępu do sesji — sessionStorage jest izolowany per karta