fix:#75 refactoring duplicate function

This commit is contained in:
Elmar Kresse
2025-04-27 13:53:34 +02:00
parent f34a8dfb9f
commit 57c2fcb7ad
8 changed files with 238 additions and 151 deletions

View File

@@ -222,60 +222,6 @@ func TestSplitEventType(t *testing.T) {
}
}
func TestGenerateUUIDs(t *testing.T) {
type args struct {
events []model.Event
course string
}
tests := []struct {
name string
args args
want []model.Event
}{
{
name: "Test 1",
args: args{
events: []model.Event{
{
Name: " Arbeitssicherheit / Rechtsformen von Unternehmen B435 SBB (wpf) & B348 BIB (pf) 5. FS",
},
},
course: "21BIB-2a",
},
want: []model.Event{
{
Name: " Arbeitssicherheit / Rechtsformen von Unternehmen B435 SBB (wpf) & B348 BIB (pf) 5. FS",
UUID: "3720afdc-10c7-5b72-9489-cffb70cb0c13",
},
},
},
{
name: "Test 2",
args: args{
events: []model.Event{
{
Name: " Arbeitssicherheit / Rechtsformen von Unternehmen B435 SBB (wpf) & B348 BIB (pf) 5. FS",
},
},
course: "21BIB-2b",
},
want: []model.Event{
{
Name: " Arbeitssicherheit / Rechtsformen von Unternehmen B435 SBB (wpf) & B348 BIB (pf) 5. FS",
UUID: "81083480-bcf1-5452-af84-bb27d79282d8",
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := generateUUIDs(tt.args.events, tt.args.course); !reflect.DeepEqual(got, tt.want) {
t.Errorf("generateUUIDs() = %v, want %v", got, tt.want)
}
})
}
}
func TestCreateTimeFromHourAndMinuteString(t *testing.T) {
type args struct {
tableTime string
@@ -859,3 +805,129 @@ func sortEventsByStartDate(events []model.Event) {
return events[i].Start.Time().Before(events[j].Start.Time())
})
}
func Test_addCourseToEvents(t *testing.T) {
type args struct {
events model.Events
course string
}
tests := []struct {
name string
args args
want model.Events
}{
{
name: "Test 1",
args: args{
events: model.Events{
{
UUID: "6ebe83db-f29e-5ddd-ae8f-8724b5ba8959",
Day: "Donnerstag",
Week: "44",
Start: parseDateTime("2024-10-31 06:00:00.000Z"),
End: parseDateTime("2024-10-31 23:00:00.000Z"),
Name: "Feiertage und lehrveranstaltungsfreie Tage",
Notes: "Reformationstag",
Prof: " ",
Rooms: " ",
BookedAt: "30/07/2024",
Course: "",
EventType: "Sperr",
Compulsory: "",
Semester: "ws",
},
{
UUID: "6ebe83db-f29e-5ddd-ae8f-8724b5ba8959",
Day: "Freitag",
Week: "44",
Start: parseDateTime("2024-11-01 06:00:00.000Z"),
End: parseDateTime("2024-11-01 23:00:00.000Z"),
Name: "Feiertage und lehrveranstaltungsfreie Tage",
Notes: "Brückentag Reformationstag",
Prof: " ",
Rooms: " ",
BookedAt: "30/07/2024",
Course: "",
EventType: "Sperr",
Compulsory: "",
Semester: "ws",
},
{
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
Day: "Dienstag",
Week: "42",
Start: parseDateTime("2024-10-15 09:15:00.000Z"),
End: parseDateTime("2024-10-15 10:45:00.000Z"),
Name: "3.2 Leitungskompetenzen II SA-M 3. FS (pf)",
Notes: "Leitungshandeln",
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
Rooms: "LI119-S",
BookedAt: "13/06/2024",
Course: "",
EventType: "S",
Compulsory: "p",
Semester: "ws",
},
},
course: "23SAM",
},
want: []model.Event{
{
UUID: "6ebe83db-f29e-5ddd-ae8f-8724b5ba8959",
Day: "Donnerstag",
Week: "44",
Start: parseDateTime("2024-10-31 06:00:00.000Z"),
End: parseDateTime("2024-10-31 23:00:00.000Z"),
Name: "Feiertage und lehrveranstaltungsfreie Tage",
Notes: "Reformationstag",
Prof: " ",
Rooms: " ",
BookedAt: "30/07/2024",
Course: "23SAM",
EventType: "Sperr",
Compulsory: "",
Semester: "ws",
},
{
UUID: "6ebe83db-f29e-5ddd-ae8f-8724b5ba8959",
Day: "Freitag",
Week: "44",
Start: parseDateTime("2024-11-01 06:00:00.000Z"),
End: parseDateTime("2024-11-01 23:00:00.000Z"),
Name: "Feiertage und lehrveranstaltungsfreie Tage",
Notes: "Brückentag Reformationstag",
Prof: " ",
Rooms: " ",
BookedAt: "30/07/2024",
Course: "23SAM",
EventType: "Sperr",
Compulsory: "",
Semester: "ws",
},
{
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
Day: "Dienstag",
Week: "42",
Start: parseDateTime("2024-10-15 09:15:00.000Z"),
End: parseDateTime("2024-10-15 10:45:00.000Z"),
Name: "3.2 Leitungskompetenzen II SA-M 3. FS (pf)",
Notes: "Leitungshandeln",
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
Rooms: "LI119-S",
BookedAt: "13/06/2024",
Course: "23SAM",
EventType: "S",
Compulsory: "p",
Semester: "ws",
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := addCourseToEvents(tt.args.events, tt.args.course); !reflect.DeepEqual(got, tt.want) {
t.Errorf("addCourseToEvents() = %v, want %v", got, tt.want)
}
})
}
}