mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-03 18:29:14 +02:00
fix:#46 added tests for UpdateCourse
This commit is contained in:
@@ -18,10 +18,9 @@ package course
|
||||
|
||||
import (
|
||||
"htwkalender/data-manager/model"
|
||||
"htwkalender/data-manager/service/events"
|
||||
"htwkalender/data-manager/model/serviceModel"
|
||||
"htwkalender/data-manager/service/functions"
|
||||
"htwkalender/data-manager/service/functions/time"
|
||||
"htwkalender/data-manager/model/serviceModel"
|
||||
"log/slog"
|
||||
)
|
||||
|
||||
@@ -31,7 +30,7 @@ func UpdateCourse(service serviceModel.Service) {
|
||||
var seminarGroups []model.SeminarGroup
|
||||
|
||||
for _, semester := range currentSemesters {
|
||||
seminarGroups = append(seminarGroups, service.EventService.GetAllCoursesForSemester(semester)...)
|
||||
seminarGroups = append(seminarGroups, service.CourseService.GetAllCoursesForSemester(semester)...)
|
||||
}
|
||||
|
||||
for _, seminarGroup := range seminarGroups {
|
||||
|
@@ -29,9 +29,9 @@ func TestUpdateCourse(t *testing.T) {
|
||||
events := model.Events{}
|
||||
|
||||
// Set up expectations
|
||||
mockCourseService.On("GetAllCourses").Return([]string{"Course1", "Course2"})
|
||||
mockEventService.On("UpdateModulesForCourse", "Course1").Return(events, nil)
|
||||
mockEventService.On("UpdateModulesForCourse", "Course2").Return(events, nil)
|
||||
mockCourseService.On("GetAllCoursesForSemester", "ss").Return([]model.SeminarGroup{{Course: "Course1", Semester: ""}, {Course: "Course2", Semester: ""}})
|
||||
mockEventService.On("UpdateModulesForCourse", model.SeminarGroup{Course: "Course1", Semester: ""}).Return(events, nil)
|
||||
mockEventService.On("UpdateModulesForCourse", model.SeminarGroup{Course: "Course2", Semester: ""}).Return(events, nil)
|
||||
|
||||
// Inject mocks into the UpdateCourse function
|
||||
service := serviceModel.Service{
|
||||
@@ -46,12 +46,12 @@ func TestUpdateCourse(t *testing.T) {
|
||||
mockEventService.AssertExpectations(t)
|
||||
|
||||
// Assert that the UpdateCourse function was called twice
|
||||
mockCourseService.AssertNumberOfCalls(t, "GetAllCourses", 1)
|
||||
mockCourseService.AssertNumberOfCalls(t, "GetAllCoursesForSemester", 1)
|
||||
mockEventService.AssertNumberOfCalls(t, "UpdateModulesForCourse", 2)
|
||||
|
||||
// Assert that the UpdateCourse function was called with the correct arguments
|
||||
mockEventService.AssertCalled(t, "UpdateModulesForCourse", "Course1")
|
||||
mockEventService.AssertCalled(t, "UpdateModulesForCourse", "Course2")
|
||||
mockEventService.AssertCalled(t, "UpdateModulesForCourse", model.SeminarGroup{Course: "Course1", Semester: ""})
|
||||
mockEventService.AssertCalled(t, "UpdateModulesForCourse", model.SeminarGroup{Course: "Course2", Semester: ""})
|
||||
}
|
||||
|
||||
func TestUpdateCourseErr(t *testing.T) {
|
||||
@@ -62,9 +62,9 @@ func TestUpdateCourseErr(t *testing.T) {
|
||||
events := model.Events{}
|
||||
|
||||
// Set up expectations
|
||||
mockCourseService.On("GetAllCourses").Return([]string{"Course1", "Course2"})
|
||||
mockEventService.On("UpdateModulesForCourse", "Course1").Return(events, fmt.Errorf("error"))
|
||||
mockEventService.On("UpdateModulesForCourse", "Course2").Return(events, fmt.Errorf("error"))
|
||||
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: "Course2", Semester: ""}).Return(events, fmt.Errorf("error"))
|
||||
|
||||
// Create a custom writer to capture log output
|
||||
customWriter := &CustomWriter{}
|
||||
@@ -87,7 +87,7 @@ func TestUpdateCourseErr(t *testing.T) {
|
||||
mockEventService.AssertExpectations(t)
|
||||
|
||||
// Assert that the UpdateCourse function was called twice
|
||||
mockCourseService.AssertNumberOfCalls(t, "GetAllCourses", 1)
|
||||
mockCourseService.AssertNumberOfCalls(t, "GetAllCoursesForSemester", 1)
|
||||
mockEventService.AssertNumberOfCalls(t, "UpdateModulesForCourse", 2)
|
||||
|
||||
// Check the captured log output for the expected messages
|
||||
|
Reference in New Issue
Block a user