claude-web-chat/TESTING.md
djuka 3122c5cba9
Some checks failed
Tests / unit-tests (push) Failing after 22s
Pojednostavljen chat na jedan terminal, dodata notifikacija kad Claude završi
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>
2026-02-18 07:20:55 +00:00

71 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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