fix:#53 added empty events check

This commit is contained in:
Elmar Kresse
2024-04-15 21:44:37 +02:00
parent f92fddb0d2
commit bad94d86fa
2 changed files with 29 additions and 18 deletions

View File

@ -55,29 +55,33 @@ func ClearFeeds(db *daos.Dao, months int, clock localTime.Clock) {
func CombineEventsInFeed(events model.Events) model.Events {
// Combine events with the same name, start, end and course
combinedEvents := model.Events{events[0]}
// check if there are events
if len(events) > 0 {
combinedEvents := model.Events{events[0]}
for i := 1; i < len(events); i++ {
// check if the event is already in the combinedEvents
alreadyInCombinedEvents := false
for i := 1; i < len(events); i++ {
// check if the event is already in the combinedEvents
alreadyInCombinedEvents := false
for j := 0; j < len(combinedEvents); j++ {
if events[i].Name == combinedEvents[j].Name &&
events[i].Start == combinedEvents[j].Start &&
events[i].End == combinedEvents[j].End &&
events[i].Course == combinedEvents[j].Course {
alreadyInCombinedEvents = true
combinedEvents[j].Notes = addNotesIfAlreadyRoomsAdded(events, combinedEvents, j, i)
combinedEvents[j].Prof = combineProfs(events, i, combinedEvents, j)
combinedEvents[j].Rooms = combineRooms(events, i, combinedEvents, j)
break
for j := 0; j < len(combinedEvents); j++ {
if events[i].Name == combinedEvents[j].Name &&
events[i].Start == combinedEvents[j].Start &&
events[i].End == combinedEvents[j].End &&
events[i].Course == combinedEvents[j].Course {
alreadyInCombinedEvents = true
combinedEvents[j].Notes = addNotesIfAlreadyRoomsAdded(events, combinedEvents, j, i)
combinedEvents[j].Prof = combineProfs(events, i, combinedEvents, j)
combinedEvents[j].Rooms = combineRooms(events, i, combinedEvents, j)
break
}
}
if !alreadyInCombinedEvents {
combinedEvents = append(combinedEvents, events[i])
}
}
if !alreadyInCombinedEvents {
combinedEvents = append(combinedEvents, events[i])
}
return combinedEvents
}
return combinedEvents
return model.Events{}
}
func addNotesIfAlreadyRoomsAdded(events model.Events, combinedEvents model.Events, index2 int, index1 int) string {

View File

@ -182,6 +182,13 @@ func TestCombineEventsInFeed(t *testing.T) {
},
},
},
{
name: "NoEventsInFeed",
args: args{
events: model.Events{},
},
want: model.Events{},
},
}
for _, tt := range testCases {
t.Run(tt.name, func(t *testing.T) {