mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-16 17:48:49 +02:00
fix:#20 test for mockClock in winter semester
This commit is contained in:
@ -63,7 +63,8 @@ func AddRoutes(services serviceModel.Service) {
|
|||||||
Method: http.MethodGet,
|
Method: http.MethodGet,
|
||||||
Path: "/api/fetch/daily/events",
|
Path: "/api/fetch/daily/events",
|
||||||
Handler: func(c echo.Context) error {
|
Handler: func(c echo.Context) error {
|
||||||
course.UpdateCourse(services)
|
clock := time.RealClock{}
|
||||||
|
course.UpdateCourse(services, clock)
|
||||||
return c.JSON(http.StatusOK, "Daily events fetched")
|
return c.JSON(http.StatusOK, "Daily events fetched")
|
||||||
},
|
},
|
||||||
Middlewares: []echo.MiddlewareFunc{
|
Middlewares: []echo.MiddlewareFunc{
|
||||||
|
@ -51,7 +51,8 @@ func AddSchedules(services serviceModel.Service) {
|
|||||||
// In Germany it is 7am and 7pm, syllabus gets updated twice a day at German 5:00 Uhr and 17:00 Uhr
|
// In Germany it is 7am and 7pm, syllabus gets updated twice a day at German 5:00 Uhr and 17:00 Uhr
|
||||||
scheduler.MustAdd("updateEventsByCourse", "0 5,17 * * *", func() {
|
scheduler.MustAdd("updateEventsByCourse", "0 5,17 * * *", func() {
|
||||||
slog.Info("Started updating courses schedule")
|
slog.Info("Started updating courses schedule")
|
||||||
course.UpdateCourse(services)
|
clock := time.RealClock{}
|
||||||
|
course.UpdateCourse(services, clock)
|
||||||
})
|
})
|
||||||
|
|
||||||
// Every sunday at 1am clean all courses (5 segments - minute, hour, day, month, weekday) "0 3 * * 0"
|
// Every sunday at 1am clean all courses (5 segments - minute, hour, day, month, weekday) "0 3 * * 0"
|
||||||
|
@ -24,8 +24,8 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
)
|
)
|
||||||
|
|
||||||
func UpdateCourse(service serviceModel.Service) {
|
func UpdateCourse(service serviceModel.Service, clock time.Clock) {
|
||||||
currentSemesters := functions.CalculateSemesterList(time.RealClock{})
|
currentSemesters := functions.CalculateSemesterList(clock)
|
||||||
|
|
||||||
var seminarGroups []model.SeminarGroup
|
var seminarGroups []model.SeminarGroup
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"htwkalender/data-manager/model"
|
"htwkalender/data-manager/model"
|
||||||
"htwkalender/data-manager/model/serviceModel"
|
"htwkalender/data-manager/model/serviceModel"
|
||||||
"htwkalender/data-manager/service/events/mock"
|
"htwkalender/data-manager/service/events/mock"
|
||||||
|
"htwkalender/data-manager/service/functions/time"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"regexp"
|
"regexp"
|
||||||
"testing"
|
"testing"
|
||||||
@ -26,6 +27,11 @@ func TestUpdateCourse(t *testing.T) {
|
|||||||
mockCourseService := new(mock.MockCourseService)
|
mockCourseService := new(mock.MockCourseService)
|
||||||
mockEventService := new(mock.MockEventService)
|
mockEventService := new(mock.MockEventService)
|
||||||
|
|
||||||
|
// Set the current time to 2024-07-01T00:00:00Z
|
||||||
|
// This will result in the current semester being "ss"
|
||||||
|
parseTime, _ := time.ParseTime("2024-07-01T00:00:00Z")
|
||||||
|
mockClock := time.MockClock{NowTime: parseTime}
|
||||||
|
|
||||||
events := model.Events{}
|
events := model.Events{}
|
||||||
|
|
||||||
// Set up expectations
|
// Set up expectations
|
||||||
@ -39,7 +45,7 @@ func TestUpdateCourse(t *testing.T) {
|
|||||||
EventService: mockEventService,
|
EventService: mockEventService,
|
||||||
App: nil,
|
App: nil,
|
||||||
}
|
}
|
||||||
UpdateCourse(service)
|
UpdateCourse(service, mockClock)
|
||||||
|
|
||||||
// Assert that the expectations were met
|
// Assert that the expectations were met
|
||||||
mockCourseService.AssertExpectations(t)
|
mockCourseService.AssertExpectations(t)
|
||||||
@ -61,6 +67,11 @@ func TestUpdateCourseErr(t *testing.T) {
|
|||||||
|
|
||||||
events := model.Events{}
|
events := model.Events{}
|
||||||
|
|
||||||
|
// Set the current time to 2024-07-01T00:00:00Z
|
||||||
|
// This will result in the current semester being "ss"
|
||||||
|
parseTime, _ := time.ParseTime("2024-07-01T00:00:00Z")
|
||||||
|
mockClock := time.MockClock{NowTime: parseTime}
|
||||||
|
|
||||||
// Set up expectations
|
// Set up expectations
|
||||||
mockCourseService.On("GetAllCoursesForSemester", "ss").Return([]model.SeminarGroup{{Course: "Course1", Semester: ""}, {Course: "Course2", Semester: ""}})
|
mockCourseService.On("GetAllCoursesForSemester", "ss").Return([]model.SeminarGroup{{Course: "Course1", Semester: ""}, {Course: "Course2", Semester: ""}})
|
||||||
mockEventService.On("UpdateModulesForCourse", model.SeminarGroup{Course: "Course1", Semester: ""}).Return(events, fmt.Errorf("error"))
|
mockEventService.On("UpdateModulesForCourse", model.SeminarGroup{Course: "Course1", Semester: ""}).Return(events, fmt.Errorf("error"))
|
||||||
@ -80,7 +91,7 @@ func TestUpdateCourseErr(t *testing.T) {
|
|||||||
EventService: mockEventService,
|
EventService: mockEventService,
|
||||||
App: nil,
|
App: nil,
|
||||||
}
|
}
|
||||||
UpdateCourse(service)
|
UpdateCourse(service, mockClock)
|
||||||
|
|
||||||
// Assert that the expectations were met
|
// Assert that the expectations were met
|
||||||
mockCourseService.AssertExpectations(t)
|
mockCourseService.AssertExpectations(t)
|
||||||
|
Reference in New Issue
Block a user