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,
|
||||
Path: "/api/fetch/daily/events",
|
||||
Handler: func(c echo.Context) error {
|
||||
course.UpdateCourse(services)
|
||||
clock := time.RealClock{}
|
||||
course.UpdateCourse(services, clock)
|
||||
return c.JSON(http.StatusOK, "Daily events fetched")
|
||||
},
|
||||
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
|
||||
scheduler.MustAdd("updateEventsByCourse", "0 5,17 * * *", func() {
|
||||
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"
|
||||
|
@ -24,8 +24,8 @@ import (
|
||||
"log/slog"
|
||||
)
|
||||
|
||||
func UpdateCourse(service serviceModel.Service) {
|
||||
currentSemesters := functions.CalculateSemesterList(time.RealClock{})
|
||||
func UpdateCourse(service serviceModel.Service, clock time.Clock) {
|
||||
currentSemesters := functions.CalculateSemesterList(clock)
|
||||
|
||||
var seminarGroups []model.SeminarGroup
|
||||
|
||||
|
@ -7,6 +7,7 @@ import (
|
||||
"htwkalender/data-manager/model"
|
||||
"htwkalender/data-manager/model/serviceModel"
|
||||
"htwkalender/data-manager/service/events/mock"
|
||||
"htwkalender/data-manager/service/functions/time"
|
||||
"log/slog"
|
||||
"regexp"
|
||||
"testing"
|
||||
@ -26,6 +27,11 @@ func TestUpdateCourse(t *testing.T) {
|
||||
mockCourseService := new(mock.MockCourseService)
|
||||
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{}
|
||||
|
||||
// Set up expectations
|
||||
@ -39,7 +45,7 @@ func TestUpdateCourse(t *testing.T) {
|
||||
EventService: mockEventService,
|
||||
App: nil,
|
||||
}
|
||||
UpdateCourse(service)
|
||||
UpdateCourse(service, mockClock)
|
||||
|
||||
// Assert that the expectations were met
|
||||
mockCourseService.AssertExpectations(t)
|
||||
@ -61,6 +67,11 @@ func TestUpdateCourseErr(t *testing.T) {
|
||||
|
||||
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
|
||||
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"))
|
||||
@ -80,7 +91,7 @@ func TestUpdateCourseErr(t *testing.T) {
|
||||
EventService: mockEventService,
|
||||
App: nil,
|
||||
}
|
||||
UpdateCourse(service)
|
||||
UpdateCourse(service, mockClock)
|
||||
|
||||
// Assert that the expectations were met
|
||||
mockCourseService.AssertExpectations(t)
|
||||
|
Reference in New Issue
Block a user