Some checks failed
Tests / unit-tests (push) Failing after 22s
Uklonjen multi-tab sistem — sada jedna PTY sesija po stranici. Dodat idle detection: status "Završeno", flash animacija, browser notifikacija i treptanje naslova kad je tab u pozadini. CSS premešten iz inline stilova u style.css. Dodat /api/projects endpoint i testovi za PTY sesije. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
TESTING.md — Claude Web Chat
Login
- Otvaranje / → redirect na /login
- Login sa ispravnim kredencijalima → redirect na /projects
- Login sa pogrešnim kredencijalima → error poruka
- Već ulogovan → /login redirect na /projects
- Logout → sesija obrisana, redirect na /login
- Pristup /projects bez logina → redirect na /login
Projekti
- Lista projekata se prikazuje posle logina
- Projekat sa README.md prikazuje opis
- Projekat bez README.md prikazuje "Bez opisa"
- Klik na projekat → otvara chat
Kreiranje projekta
- Klik na "Novi projekat" → pojavi se modal sa formom
- Unos validnog imena → projekat kreiran, vidljiv u listi
- Unos duplog imena → error poruka "već postoji"
- Unos praznog imena → browser validacija (required)
- Unos specijalnih karaktera → error poruka
- Klik van modala → modal se zatvara
- Klik na "Otkaži" → modal se zatvara
Chat
- Chat stranica se otvori sa WebSocket konekcijom
- Pošalji poruku → prikazuje se user poruka
- Claude odgovara → streaming tekst u realnom vremenu
- Tool use → prikazuje se kao posebna poruka
- Typing indicator → prikazuje se dok Claude radi
- Enter → šalje poruku, Shift+Enter → novi red
- Input se čisti posle slanja
Promena lozinke
- Pristup /change-password bez logina → redirect na /login
- Prikaz forme sa 3 polja (trenutna, nova, potvrda)
- Pogrešna trenutna lozinka → error poruka
- Nova lozinka kraća od 6 karaktera → error poruka
- Nova lozinka i potvrda se ne poklapaju → error poruka
- Uspešna promena → success poruka
- Login sa novom lozinkom → uspešan
- Login sa starom lozinkom → neuspešan
- Link "Promeni lozinku" vidljiv na /projects stranici
- Link "Nazad na projekte" vraća na /projects
Tabovi (više konzola)
- Otvaranje /chat/arv → jedan tab "arv" prikazan
- Klik na + → dropdown sa listom projekata
- Izbor projekta iz dropdown-a → novi tab otvoren
- Izbor istog projekta → novi tab sa zasebnom sesijom
- Klik na tab → prebacivanje terminala, fokus
- Klik na × → tab zatvoren, WS prekinut
- Poslednji tab se ne može zatvoriti (nema × dugme)
- Refresh stranice → prvi tab se ponovo konektuje sa replay-om
- Svaki tab ima nezavisan terminal (kucanje u jednom ne utiče na drugi)
- Promena teme → primenjuje se na sve tabove
Sesija persistence
- Zatvori tab → otvori ponovo → sesija živa, poruke replayed
- Idle sesija se čisti posle 30 minuta
File browser
- Sidebar prikazuje .md fajlove
- Klik na fajl → otvara viewer sa rendered markdown-om
- Escape zatvara viewer
- Path traversal pokušaj → blokiran
Unit testovi
go test ./... -v -count=1— svi prolaze