mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-24 13:38:48 +02:00
fix:#57 added test and converted encoding
This commit is contained in:
@@ -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())
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user