mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-24 13:38:48 +02:00
feat:#57 fixed bug
This commit is contained in:
@ -20,6 +20,7 @@ import (
|
||||
"fmt"
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
"htwkalender/data-manager/model"
|
||||
"os"
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
@ -588,3 +589,259 @@ func TestIsWinterSemester(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_parseSeminarGroup(t *testing.T) {
|
||||
type args struct {
|
||||
result string
|
||||
}
|
||||
|
||||
//read string from fil
|
||||
byteArray, err := os.ReadFile("tests/seminarGroup.html")
|
||||
if err != nil {
|
||||
t.Errorf("Error reading file: %v", err)
|
||||
}
|
||||
|
||||
htmlString := string(byteArray)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want model.SeminarGroup
|
||||
}{
|
||||
{
|
||||
name: "Test 1",
|
||||
args: args{
|
||||
result: htmlString,
|
||||
},
|
||||
want: model.SeminarGroup{
|
||||
Course: "23SAM",
|
||||
University: "HTWK Leipzig",
|
||||
Events: []model.Event{
|
||||
{
|
||||
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",
|
||||
Notes: "Leitungshandeln",
|
||||
Prof: "Prof. Dr. phil. Grit Behse-Bartels SA-M 3. FS (pf)",
|
||||
Rooms: "LI119-S",
|
||||
BookedAt: "13/06/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
|
||||
Day: "Dienstag",
|
||||
Week: "43",
|
||||
Start: parseDateTime("2024-10-22 09:15:00.000Z"),
|
||||
End: parseDateTime("2024-10-22 10:45:00.000Z"),
|
||||
Name: "Leitungskompetenzen II",
|
||||
Notes: "Leitungshandeln",
|
||||
Prof: "Prof. Dr. phil. Grit Behse-Bartels SA-M 3. FS (pf)",
|
||||
Rooms: "LI119-S",
|
||||
BookedAt: "13/06/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
|
||||
Day: "Dienstag",
|
||||
Week: "44",
|
||||
Start: parseDateTime("2024-10-29 10:15:00.000Z"),
|
||||
End: parseDateTime("2024-10-29 11:45:00.000Z"),
|
||||
Name: "Leitungskompetenzen II",
|
||||
Notes: "Leitungshandeln",
|
||||
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
|
||||
Rooms: "LI119-S",
|
||||
BookedAt: "13/06/2024",
|
||||
Course: "SA-M 3. FS (pf)",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "23SAM ws",
|
||||
},
|
||||
{
|
||||
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
|
||||
Day: "Dienstag",
|
||||
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)",
|
||||
Notes: "Leitungshandeln",
|
||||
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
|
||||
Rooms: "LI119-S",
|
||||
BookedAt: "13/06/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "15e6d285-5ecd-5039-b4b2-d6fcc3dbc1a7",
|
||||
Day: "Dienstag",
|
||||
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)",
|
||||
Notes: "Leitungshandeln",
|
||||
Prof: "Prof. Dr. phil. Grit Behse-Bartels",
|
||||
Rooms: "LI119-S",
|
||||
BookedAt: "13/06/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "6ebe83db-f29e-5ddd-ae8f-8724b5ba8959",
|
||||
Day: "Mittwoch",
|
||||
Week: "47",
|
||||
Start: parseDateTime("2024-11-20 06:00:00.000Z"),
|
||||
End: parseDateTime("2024-11-20 23:00:00.000Z"),
|
||||
Name: "Feiertage und lehrveranstaltungsfreie Tage",
|
||||
Notes: "Buß- und Bettag",
|
||||
Prof: "",
|
||||
Rooms: "",
|
||||
BookedAt: "30/07/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "Sperr",
|
||||
Compulsory: "",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "703e19b7-06ab-543d-a759-4ef72627594c",
|
||||
Day: "Mittwoch",
|
||||
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",
|
||||
Rooms: "LI016-S",
|
||||
BookedAt: "27/08/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "703e19b7-06ab-543d-a759-4ef72627594c",
|
||||
Day: "Mittwoch",
|
||||
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",
|
||||
Rooms: "LI115-L",
|
||||
BookedAt: "18/09/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "703e19b7-06ab-543d-a759-4ef72627594c",
|
||||
Day: "Mittwoch",
|
||||
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",
|
||||
Rooms: "LI201-S",
|
||||
BookedAt: "18/09/2024",
|
||||
Course: "SAM23",
|
||||
EventType: "S",
|
||||
Compulsory: "p",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "02d01aad-1542-574d-b597-aa5ac9ff0179",
|
||||
Day: "Mittwoch",
|
||||
Week: "42",
|
||||
Start: parseDateTime("2024-10-16 11:45:00.000Z"),
|
||||
End: parseDateTime("2024-10-16 18:30:00.000Z"),
|
||||
Name: "zentrale Gremienzeit",
|
||||
Notes: "",
|
||||
Prof: "",
|
||||
Rooms: "",
|
||||
BookedAt: "09/09/2024",
|
||||
Course: "23SAM",
|
||||
EventType: "Sperr",
|
||||
Compulsory: "",
|
||||
Semester: "ws",
|
||||
},
|
||||
{
|
||||
UUID: "02d01aad-1542-574d-b597-aa5ac9ff0179",
|
||||
Day: "Mittwoch",
|
||||
Week: "44",
|
||||
Start: parseDateTime("2024-10-30 12:45:00.000Z"),
|
||||
End: parseDateTime("2024-10-30 19:30:00.000Z"),
|
||||
Name: "zentrale Gremienzeit",
|
||||
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) {
|
||||
t.Errorf("parseSeminarGroup() = %v, want %v", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func parseDateTime(timeString string) types.DateTime {
|
||||
dateTime, err := types.ParseDateTime(timeString)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
return dateTime
|
||||
}
|
||||
|
Reference in New Issue
Block a user