fix:#57 added test and converted encoding

This commit is contained in:
Elmar Kresse
2024-10-07 22:34:52 +02:00
parent 8e9976e607
commit 35eab8d2f6
3 changed files with 90 additions and 73 deletions

View File

@@ -22,6 +22,7 @@ import (
"htwkalender/data-manager/model"
"os"
"reflect"
"sort"
"testing"
"time"
)
@@ -617,15 +618,47 @@ func Test_parseSeminarGroup(t *testing.T) {
Course: "23SAM",
University: "HTWK Leipzig",
Events: []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: "Leitungskompetenzen II",
Name: "3.2 Leitungskompetenzen II SA-M 3. FS (pf)",
Notes: "Leitungshandeln",
Prof: "Prof. Dr. phil. Grit Behse-Bartels SA-M 3. FS (pf)",
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
Rooms: "LI119-S",
BookedAt: "13/06/2024",
Course: "23SAM",
@@ -639,9 +672,9 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "43",
Start: parseDateTime("2024-10-22 09:15:00.000Z"),
End: parseDateTime("2024-10-22 10:45:00.000Z"),
Name: "Leitungskompetenzen II",
Name: "3.2 Leitungskompetenzen II SA-M 3. FS (pf)",
Notes: "Leitungshandeln",
Prof: "Prof. Dr. phil. Grit Behse-Bartels SA-M 3. FS (pf)",
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
Rooms: "LI119-S",
BookedAt: "13/06/2024",
Course: "23SAM",
@@ -655,15 +688,15 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "44",
Start: parseDateTime("2024-10-29 10:15:00.000Z"),
End: parseDateTime("2024-10-29 11:45:00.000Z"),
Name: "Leitungskompetenzen II",
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: "SA-M 3. FS (pf)",
Course: "23SAM",
EventType: "S",
Compulsory: "p",
Semester: "23SAM ws",
Semester: "ws",
},
{
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
@@ -671,7 +704,7 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "54",
Start: parseDateTime("2025-01-07 10:15:00.000Z"),
End: parseDateTime("2025-01-07 11:45:00.000Z"),
Name: "Leitungskompetenzen II SA-M 3. FS (pf)",
Name: "3.2 Leitungskompetenzen II SA-M 3. FS (pf)",
Notes: "Leitungshandeln",
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
Rooms: "LI119-S",
@@ -687,7 +720,7 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "55",
Start: parseDateTime("2025-01-14 10:15:00.000Z"),
End: parseDateTime("2025-01-14 11:45:00.000Z"),
Name: "Leitungskompetenzen II SA-M 3. FS (pf)",
Name: "3.2 Leitungskompetenzen II SA-M 3. FS (pf)",
Notes: "Leitungshandeln",
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
Rooms: "LI119-S",
@@ -705,8 +738,8 @@ func Test_parseSeminarGroup(t *testing.T) {
End: parseDateTime("2024-11-20 23:00:00.000Z"),
Name: "Feiertage und lehrveranstaltungsfreie Tage",
Notes: "Buß- und Bettag",
Prof: "",
Rooms: "",
Prof: " ",
Rooms: " ",
BookedAt: "30/07/2024",
Course: "23SAM",
EventType: "Sperr",
@@ -719,10 +752,10 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "43",
Start: parseDateTime("2024-10-23 07:30:00.000Z"),
End: parseDateTime("2024-10-23 10:45:00.000Z"),
Name: "Ausgew. Thema aus dem Thema Fachdiskurs Soz. Arbeit SA-M 3. FS (pf)",
Notes: "",
Prof: "LBA Sarah Otto",
Name: "3.5 Ausgew. Thema aus dem Thema Fachdiskurs Soz. Arbeit SA-M 3. FS (pf)",
Notes: "LBA Sarah Otto",
Rooms: "LI016-S",
Prof: " ",
BookedAt: "27/08/2024",
Course: "23SAM",
EventType: "S",
@@ -735,10 +768,10 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "46",
Start: parseDateTime("2024-11-13 08:30:00.000Z"),
End: parseDateTime("2024-11-13 11:45:00.000Z"),
Name: "Ausgew. Thema aus dem Thema Fachdiskurs Soz. Arbeit SA-M 3. FS (pf)",
Notes: "",
Prof: "LBA Sarah Otto",
Name: "3.5 Ausgew. Thema aus dem Thema Fachdiskurs Soz. Arbeit SA-M 3. FS (pf)",
Notes: "LBA Sarah Otto",
Rooms: "LI115-L",
Prof: " ",
BookedAt: "18/09/2024",
Course: "23SAM",
EventType: "S",
@@ -751,12 +784,12 @@ func Test_parseSeminarGroup(t *testing.T) {
Week: "48",
Start: parseDateTime("2024-11-27 08:30:00.000Z"),
End: parseDateTime("2024-11-27 11:45:00.000Z"),
Name: "Ausgew. Thema aus dem Thema Fachdiskurs Soz. Arbeit SA-M 3. FS (pf)",
Notes: "",
Prof: "LBA Sarah Otto",
Name: "3.5 Ausgew. Thema aus dem Thema Fachdiskurs Soz. Arbeit SA-M 3. FS (pf)",
Prof: " ",
Notes: "LBA Sarah Otto",
Rooms: "LI201-S",
BookedAt: "18/09/2024",
Course: "SAM23",
Course: "23SAM",
EventType: "S",
Compulsory: "p",
Semester: "ws",
@@ -768,9 +801,9 @@ func Test_parseSeminarGroup(t *testing.T) {
Start: parseDateTime("2024-10-16 11:45:00.000Z"),
End: parseDateTime("2024-10-16 18:30:00.000Z"),
Name: "zentrale Gremienzeit",
Notes: "",
Prof: "",
Rooms: "",
Notes: " ",
Prof: " ",
Rooms: " ",
BookedAt: "09/09/2024",
Course: "23SAM",
EventType: "Sperr",
@@ -784,54 +817,28 @@ func Test_parseSeminarGroup(t *testing.T) {
Start: parseDateTime("2024-10-30 12:45:00.000Z"),
End: parseDateTime("2024-10-30 19:30:00.000Z"),
Name: "zentrale Gremienzeit",
Notes: "",
Prof: "",
Rooms: "",
Notes: " ",
Prof: " ",
Rooms: " ",
BookedAt: "09/09/2024",
Course: "23SAM",
EventType: "Sperr",
Compulsory: "",
Semester: "ws",
},
{
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",
},
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := parseSeminarGroup(tt.args.result); !reflect.DeepEqual(got, tt.want) {
//sort Arrays by StartDate
sortEventsByStartDate(tt.want.Events)
got := parseSeminarGroup(tt.args.result)
sortEventsByStartDate(got.Events)
if !reflect.DeepEqual(got, tt.want) {
t.Errorf("parseSeminarGroup() = %v, want %v", got, tt.want)
}
})
@@ -845,3 +852,9 @@ func parseDateTime(timeString string) types.DateTime {
}
return dateTime
}
func sortEventsByStartDate(events []model.Event) {
sort.Slice(events, func(i, j int) bool {
return events[i].Start.Time().Before(events[j].Start.Time())
})
}