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 1`) { 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 1`) { 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()) } }