mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-16 09:38:49 +02:00
fix:#57 added test and converted encoding
This commit is contained in:
@ -10,6 +10,11 @@ type MockCourseService struct {
|
||||
mock.Mock
|
||||
}
|
||||
|
||||
func (m *MockCourseService) FindCourseByCourseName(courseName string) (model.SeminarGroup, error) {
|
||||
args := m.Called(courseName)
|
||||
return args.Get(0).(model.SeminarGroup), args.Error(1)
|
||||
}
|
||||
|
||||
func (m *MockCourseService) GetAllCourses() []string {
|
||||
args := m.Called()
|
||||
return args.Get(0).([]string)
|
||||
|
@ -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())
|
||||
})
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>sws_semgrp</title>
|
||||
<style type="text/css">
|
||||
body{font: 10pt "Times New Roman",serif; }
|
||||
@ -62,7 +61,7 @@
|
||||
<table cellspacing="0" border="0" width="100%" class="header-0-args">
|
||||
<colgroup><col align="left"><col align="center"><col align="right">
|
||||
</colgroup><tbody><tr>
|
||||
<td></td><td><span class="header-0-1-0"> </span></td><td><span class="header-0-2-0">Wintersemester 2024/25 (Planungszeitraum 01.09.2024 bis 28.02.2025)</span><span class="header-0-2-1">-</span><span class="header-0-2-2">g<EFBFBD>ltig</span><span class="header-0-2-3"></span></td>
|
||||
<td></td><td><span class="header-0-1-0"> </span></td><td><span class="header-0-2-0">Wintersemester 2024/25 (Planungszeitraum 01.09.2024 bis 28.02.2025)</span><span class="header-0-2-1">-</span><span class="header-0-2-2">gültig</span><span class="header-0-2-3"></span></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
@ -141,7 +140,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td>Veranstaltung</td>
|
||||
<td>Art</td>
|
||||
<td>Dozent</td>
|
||||
<td>R<EFBFBD>ume</td>
|
||||
<td>Räume</td>
|
||||
<td>Bemerkungen</td>
|
||||
<td>Gebucht am</td>
|
||||
</tr>
|
||||
@ -169,7 +168,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td>Veranstaltung</td>
|
||||
<td>Art</td>
|
||||
<td>Dozent</td>
|
||||
<td>R<EFBFBD>ume</td>
|
||||
<td>Räume</td>
|
||||
<td>Bemerkungen</td>
|
||||
<td>Gebucht am</td>
|
||||
</tr>
|
||||
@ -181,7 +180,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td>Sperr</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td>Bu<EFBFBD>- und Bettag</td>
|
||||
<td>Buß- und Bettag</td>
|
||||
<td>30/07/2024</td>
|
||||
</tr>
|
||||
|
||||
@ -243,7 +242,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td>Veranstaltung</td>
|
||||
<td>Art</td>
|
||||
<td>Dozent</td>
|
||||
<td>R<EFBFBD>ume</td>
|
||||
<td>Räume</td>
|
||||
<td>Bemerkungen</td>
|
||||
<td>Gebucht am</td>
|
||||
</tr>
|
||||
@ -273,7 +272,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td>Veranstaltung</td>
|
||||
<td>Art</td>
|
||||
<td>Dozent</td>
|
||||
<td>R<EFBFBD>ume</td>
|
||||
<td>Räume</td>
|
||||
<td>Bemerkungen</td>
|
||||
<td>Gebucht am</td>
|
||||
</tr>
|
||||
@ -285,7 +284,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td>Sperr</td>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
<td>Br<EFBFBD>ckentag Reformationstag</td>
|
||||
<td>Brückentag Reformationstag</td>
|
||||
<td>30/07/2024</td>
|
||||
</tr>
|
||||
|
||||
@ -305,7 +304,7 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<table cellspacing="0" border="0" width="100%" class="footer-0-args">
|
||||
<colgroup><col align="left"><col align="center"><col align="right">
|
||||
</colgroup><tbody><tr>
|
||||
<td><span class="footer-0-0-0">Doppellehrveranstaltungen k<EFBFBD>nnen je nach Beginn 30 min Fr<EFBFBD>hst<EFBFBD>ckspause oder 60 min Mittagspause enthalten.</span></td><td></td><td></td>
|
||||
<td><span class="footer-0-0-0">Doppellehrveranstaltungen können je nach Beginn 30 min Frühstückspause oder 60 min Mittagspause enthalten.</span></td><td></td><td></td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
</td>
|
||||
@ -326,11 +325,11 @@ table.footer-0-args {width: 80%; margin-top:2em; padding:1em; background-color:L
|
||||
<td><span class="footer-2-0-0"><p style="font-size: 11pt">
|
||||
<b>Wichtige Hinweise:</b>
|
||||
</p><ul style="font-size: 10pt">
|
||||
<li><a href="http://www.htwk-leipzig.de/lageplan" target="_blank"><b>Campusplan</b></a> (mit Geb<EFBFBD>udeabk<EFBFBD>rzungen unter www.htwk-leipzig.de/lageplan)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/lageplan" target="_blank"><b>Campusplan</b></a> (mit Gebäudeabkürzungen unter www.htwk-leipzig.de/lageplan)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/telefonverzeichnis" target="_blank"><b>Personalverzeichnis</b></a> (mit Funktion, E-Mail, Telefon, Raum etc. unter www.htwk-leipzig.de/telefonverzeichnis)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/akademischer-Kalender" target="_blank"><b>Akademischer Kalender</b></a> (mit Terminen und Planungwochen<EFBFBD>bersicht unter www.htwk-leipzig.de/akademischer-Kalender)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/lvp-hilfe-student" target="_blank"><b>Hilfe f<EFBFBD>r Studierende</b></a> (mit Anleitungen und Abk<EFBFBD>rzungen unter www.htwk-leipzig.de/lvp-hilfe-student)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/lvp-hilfe-dozent" target="_blank"><b>Hilfe f<EFBFBD>r Dozenten</b></a> (mit Abk<EFBFBD>rzungen und Hinweisen zu Raumbuchung/Zutritt unter www.htwk-leipzig.de/lvp-hilfe-dozent)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/akademischer-Kalender" target="_blank"><b>Akademischer Kalender</b></a> (mit Terminen und Planungwochenübersicht unter www.htwk-leipzig.de/akademischer-Kalender)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/lvp-hilfe-student" target="_blank"><b>Hilfe für Studierende</b></a> (mit Anleitungen und Abkürzungen unter www.htwk-leipzig.de/lvp-hilfe-student)</li>
|
||||
<li><a href="http://www.htwk-leipzig.de/lvp-hilfe-dozent" target="_blank"><b>Hilfe für Dozenten</b></a> (mit Abkürzungen und Hinweisen zu Raumbuchung/Zutritt unter www.htwk-leipzig.de/lvp-hilfe-dozent)</li>
|
||||
</ul>
|
||||
<p></p></span></td><td></td><td></td>
|
||||
</tr>
|
||||
|
Reference in New Issue
Block a user