handleIndex war seit dem Produktwechsel unverändert ein Platzhalter aus
Schritt 1 ("Antrag stellen"/"Meine Anträge" — beides bereits in der
Seitenleiste vorhanden, die Startseite selbst zeigte nichts Eigenes).
Zeigt jetzt die Zahl eigener offener Anträge, und für die Fachebene
zusätzlich die Zahl offener Fälle im Posteingang; Betreiber sehen
einen Link zur Plattform statt leerer Antrags-Kacheln, die für sie
ohnehin nicht gelten. Bewusst ohne Wiedervorlage-Zahl — deren
Berechnung vergleicht jeden Genehmigungs-Snapshot gegen den aktuellen
Katalogstand und wäre für eine bei jedem Login geladene Startseite zu
teuer.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
64 lines
2.2 KiB
Go
64 lines
2.2 KiB
Go
package web_test
|
|
|
|
import (
|
|
"net/http"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestIndexZeigtEigeneOffeneAntraege(t *testing.T) {
|
|
s, _, cookie := newAuthedTestServer(t)
|
|
postForm(t, s, cookie, "/antraege", fullAntragForm())
|
|
|
|
resp := getWithCookie(t, s, cookie, "/")
|
|
if resp.Code != http.StatusOK {
|
|
t.Fatalf("status = %d, body: %s", resp.Code, resp.Body.String())
|
|
}
|
|
if !strings.Contains(resp.Body.String(), `href="/antraege">Meine offenen Anträge <span class="status">1</span>`) {
|
|
t.Errorf("expected 1 offenen Antrag auf der Startseite, got: %s", resp.Body.String())
|
|
}
|
|
}
|
|
|
|
func TestIndexZeigtPosteingangNurFuerFachebene(t *testing.T) {
|
|
fs := newFakeStore()
|
|
s := newServer(t, fs)
|
|
_, verantwortlicherCookie := seedFallImAccount(t, fs, s, "verantwortlicher")
|
|
|
|
resp := getWithCookie(t, s, verantwortlicherCookie, "/")
|
|
if resp.Code != http.StatusOK {
|
|
t.Fatalf("status = %d, body: %s", resp.Code, resp.Body.String())
|
|
}
|
|
if !strings.Contains(resp.Body.String(), `href="/faelle">Posteingang <span class="status">1</span>`) {
|
|
t.Errorf("expected 1 offenen Fall im Posteingang auf der Startseite, got: %s", resp.Body.String())
|
|
}
|
|
}
|
|
|
|
func TestIndexZeigtKeinenPosteingangFuerMitarbeiter(t *testing.T) {
|
|
s, _, cookie := newAuthedTestServer(t)
|
|
|
|
resp := getWithCookie(t, s, cookie, "/")
|
|
if resp.Code != http.StatusOK {
|
|
t.Fatalf("status = %d, body: %s", resp.Code, resp.Body.String())
|
|
}
|
|
if strings.Contains(resp.Body.String(), "Posteingang") {
|
|
t.Errorf("expected no Posteingang tile for mitarbeiter, got: %s", resp.Body.String())
|
|
}
|
|
}
|
|
|
|
func TestIndexZeigtPlattformLinkFuerBetreiber(t *testing.T) {
|
|
fs := newFakeStore()
|
|
s := newServer(t, fs)
|
|
betreiberCookie := seedAccountWithRole(t, fs, "Deklarix Betreiber", "betreiber@example.com", "betreiber")
|
|
|
|
resp := getWithCookie(t, s, betreiberCookie, "/")
|
|
if resp.Code != http.StatusOK {
|
|
t.Fatalf("status = %d, body: %s", resp.Code, resp.Body.String())
|
|
}
|
|
if !strings.Contains(resp.Body.String(), `href="/betreiber">Zur Plattform`) {
|
|
t.Errorf("expected a Plattform link for betreiber, got: %s", resp.Body.String())
|
|
}
|
|
if strings.Contains(resp.Body.String(), "Antrag stellen") {
|
|
t.Errorf("expected no antrag tiles for betreiber, got: %s", resp.Body.String())
|
|
}
|
|
}
|