package models_test import ( "arbeitszeitmessung/models" "testing" "time" ) func SetupWorkWeekFixture(t *testing.T) models.WorkWeek { t.Helper() monday, err := time.Parse("2006-01-02", "2025-01-10") if err != nil { t.Fatal(err) } return models.WorkWeek{User: testUser, WeekStart: monday, Status: models.WeekStatusSent} } func TestNewWorkWeekNoPopulate(t *testing.T) { monday, err := time.Parse("2006-01-02", "2025-01-10") if err != nil { t.Fatal(err) } workWeek := models.NewWorkWeek(testUser, monday, false) if workWeek.User != testUser || workWeek.WeekStart != monday { t.Error("No populate workweek does not have right values!") } } func TestCheckStatus(t *testing.T) { SetupDBFixture(t) testWeek := SetupWorkWeekFixture(t) testCases := []struct { name string weekStatus models.WeekStatus }{ {"State=None", models.WeekStatusNone}, {"State=Sent", models.WeekStatusSent}, {"State=Accepted", models.WeekStatusAccepted}, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { testWeek.Status = tc.weekStatus if testWeek.CheckStatus() != tc.weekStatus { t.Error("WorkWeek Status missmatch!") } }) } }