From 45440b6457d24eff958842009323d7cdbf9f51e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20Tr=C3=B6ger?= Date: Wed, 3 Sep 2025 14:31:14 +0200 Subject: [PATCH] added tests --- Backend/models/workWeek_test.go | 50 +++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Backend/models/workWeek_test.go diff --git a/Backend/models/workWeek_test.go b/Backend/models/workWeek_test.go new file mode 100644 index 0000000..b94dd04 --- /dev/null +++ b/Backend/models/workWeek_test.go @@ -0,0 +1,50 @@ +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) { + 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!") + } + }) + } + +}