fix:#7 fixed models in tests

This commit is contained in:
Elmar Kresse
2024-06-10 20:32:34 +02:00
parent 0f9fd9733c
commit e325297530
5 changed files with 45 additions and 52 deletions

View File

@@ -17,15 +17,15 @@
package model package model
import ( import (
"github.com/pocketbase/pocketbase/models"
"reflect" "reflect"
"testing" "testing"
"time"
"github.com/pocketbase/pocketbase/models"
"github.com/pocketbase/pocketbase/tools/types"
) )
func TestEvents_Contains(t *testing.T) { func TestEvents_Contains(t *testing.T) {
specificTime, _ := types.ParseDateTime("2020-01-01 12:00:00.000Z") specificTime, _ := time.Parse("2020-01-01 12:00:00.000Z", "2020-01-01 12:00:00.000Z")
specificJSONTime := JSONTime(specificTime)
type args struct { type args struct {
event Event event Event
@@ -44,20 +44,20 @@ func TestEvents_Contains(t *testing.T) {
}, },
{ {
name: "one event", name: "one event",
m: Events{{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}}, m: Events{{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}},
args: args{event: Event{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}}, args: args{event: Event{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}},
want: true, want: true,
}, },
{ {
name: "two events", name: "two events",
m: Events{{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, {Day: "test2", Week: "test2", Start: specificTime, End: specificTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}}, m: Events{{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, {Day: "test2", Week: "test2", Start: specificJSONTime, End: specificJSONTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
args: args{event: Event{Day: "test2", Week: "test2", Start: specificTime, End: specificTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}}, args: args{event: Event{Day: "test2", Week: "test2", Start: specificJSONTime, End: specificJSONTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
want: true, want: true,
}, },
{ {
name: "two events with different values", name: "two events with different values",
m: Events{{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test", UUID: "439ßu56rf8u9ijn4f4-2345345"}, {Day: "test2", Week: "test2", Start: specificTime, End: specificTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2", UUID: "432a39ßu545349ijn4f4-23dsa45"}}, m: Events{{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test", UUID: "439ßu56rf8u9ijn4f4-2345345"}, {Day: "test2", Week: "test2", Start: specificJSONTime, End: specificJSONTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2", UUID: "432a39ßu545349ijn4f4-23dsa45"}},
args: args{event: Event{Day: "test3", Week: "test3", Start: specificTime, End: specificTime, Name: "test3", Course: "test3", Prof: "test3", Rooms: "test3", EventType: "test3", UUID: "934mf43r34f-g68h7655tg3"}}, args: args{event: Event{Day: "test3", Week: "test3", Start: specificJSONTime, End: specificJSONTime, Name: "test3", Course: "test3", Prof: "test3", Rooms: "test3", EventType: "test3", UUID: "934mf43r34f-g68h7655tg3"}},
want: false, want: false,
}, },
} }
@@ -71,14 +71,16 @@ func TestEvents_Contains(t *testing.T) {
} }
func TestEvent_Equals(t *testing.T) { func TestEvent_Equals(t *testing.T) {
specificTime, _ := types.ParseDateTime("2020-01-01 12:00:00.000Z")
specificTime, _ := time.Parse("2020-01-01 12:00:00.000Z", "2020-01-01 12:00:00.000Z")
specificJSONTime := JSONTime(specificTime)
type fields struct { type fields struct {
UUID string UUID string
Day string Day string
Week string Week string
Start types.DateTime Start JSONTime
End types.DateTime End JSONTime
Name string Name string
EventType string EventType string
Prof string Prof string
@@ -106,20 +108,20 @@ func TestEvent_Equals(t *testing.T) {
}, },
{ {
name: "one empty one not", name: "one empty one not",
fields: fields{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, fields: fields{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"},
args: args{event: Event{}}, args: args{event: Event{}},
want: false, want: false,
}, },
{ {
name: "one event", name: "one event",
fields: fields{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, fields: fields{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"},
args: args{event: Event{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}}, args: args{event: Event{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}},
want: true, want: true,
}, },
{ {
name: "two events", name: "two events",
fields: fields{Day: "test", Week: "test", Start: specificTime, End: specificTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, fields: fields{Day: "test", Week: "test", Start: specificJSONTime, End: specificJSONTime, Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"},
args: args{event: Event{Day: "test2", Week: "test2", Start: specificTime, End: specificTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}}, args: args{event: Event{Day: "test2", Week: "test2", Start: specificJSONTime, End: specificJSONTime, Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
want: false, want: false,
}, },
} }
@@ -153,8 +155,8 @@ func TestEvent_AnonymizeEvent(t *testing.T) {
UUID string UUID string
Day string Day string
Week string Week string
Start types.DateTime Start JSONTime
End types.DateTime End JSONTime
Name string Name string
EventType string EventType string
Compulsory string Compulsory string
@@ -174,22 +176,22 @@ func TestEvent_AnonymizeEvent(t *testing.T) {
{ {
name: "empty event", name: "empty event",
fields: fields{}, fields: fields{},
want: AnonymizedEventDTO{Day: "", Week: "", Start: types.DateTime{}, End: types.DateTime{}, Rooms: "", Free: false}, want: AnonymizedEventDTO{Day: "", Week: "", Start: JSONTime{}, End: JSONTime{}, Rooms: "", Free: false},
}, },
{ {
name: "one event", name: "one event",
fields: fields{Name: "Event", Day: "test", Week: "test", Rooms: "test"}, fields: fields{Name: "Event", Day: "test", Week: "test", Rooms: "test"},
want: AnonymizedEventDTO{Day: "test", Week: "test", Start: types.DateTime{}, End: types.DateTime{}, Rooms: "test", Free: false}, want: AnonymizedEventDTO{Day: "test", Week: "test", Start: JSONTime{}, End: JSONTime{}, Rooms: "test", Free: false},
}, },
{ {
name: "one event with free", name: "one event with free",
fields: fields{Name: "Räume zur freien Verfügung", Day: "test", Week: "test", Rooms: "test", Course: "test"}, fields: fields{Name: "Räume zur freien Verfügung", Day: "test", Week: "test", Rooms: "test", Course: "test"},
want: AnonymizedEventDTO{Day: "test", Week: "test", Start: types.DateTime{}, End: types.DateTime{}, Rooms: "test", Free: true}, want: AnonymizedEventDTO{Day: "test", Week: "test", Start: JSONTime{}, End: JSONTime{}, Rooms: "test", Free: true},
}, },
{ {
name: "another free event", name: "another free event",
fields: fields{Name: "Zur freien Verfügung", Day: "Montag", Week: "5", Start: types.DateTime{}, End: types.DateTime{}, Rooms: "TR_A1.28-S", Course: "42INM-3"}, fields: fields{Name: "Zur freien Verfügung", Day: "Montag", Week: "5", Start: JSONTime{}, End: JSONTime{}, Rooms: "TR_A1.28-S", Course: "42INM-3"},
want: AnonymizedEventDTO{Day: "Montag", Week: "5", Start: types.DateTime{}, End: types.DateTime{}, Rooms: "TR_A1.28-S", Free: true}, want: AnonymizedEventDTO{Day: "Montag", Week: "5", Start: JSONTime{}, End: JSONTime{}, Rooms: "TR_A1.28-S", Free: true},
}, },
} }
for _, tt := range tests { for _, tt := range tests {
@@ -223,8 +225,8 @@ func TestEvent_GetName(t *testing.T) {
UUID string UUID string
Day string Day string
Week string Week string
Start types.DateTime Start JSONTime
End types.DateTime End JSONTime
Name string Name string
EventType string EventType string
Compulsory string Compulsory string
@@ -283,8 +285,8 @@ func TestEvent_SetCourse(t *testing.T) {
UUID string UUID string
Day string Day string
Week string Week string
Start types.DateTime Start JSONTime
End types.DateTime End JSONTime
Name string Name string
EventType string EventType string
Compulsory string Compulsory string
@@ -343,8 +345,8 @@ func TestEvent_SetName(t *testing.T) {
UUID string UUID string
Day string Day string
Week string Week string
Start types.DateTime Start JSONTime
End types.DateTime End JSONTime
Name string Name string
EventType string EventType string
Compulsory string Compulsory string
@@ -403,8 +405,8 @@ func TestEvent_TableName(t *testing.T) {
UUID string UUID string
Day string Day string
Week string Week string
Start types.DateTime Start JSONTime
End types.DateTime End JSONTime
Name string Name string
EventType string EventType string
Compulsory string Compulsory string

View File

@@ -1,7 +1,7 @@
package functions package functions
import ( import (
mockTime "htwkalender/service/functions/time" mockTime "htwkalender-ical/service/functions/time"
"reflect" "reflect"
"testing" "testing"
"time" "time"

View File

@@ -17,20 +17,11 @@
package time package time
import ( import (
"github.com/pocketbase/pocketbase/tools/types" "htwkalender-ical/model"
"log/slog"
"time" "time"
) )
func ParseTime(timeString string) (time.Time, error) { func ParseAsTypesDatetime(time time.Time) model.JSONTime {
return time.Parse("2006-01-02T15:04:05Z", timeString) dateTime := model.JSONTime(time)
}
func ParseAsTypesDatetime(time time.Time) types.DateTime {
dateTime, err := types.ParseDateTime(time)
if err != nil {
slog.Error("Failed to parse time as types.DateTime", "error", err)
return types.DateTime{}
}
return dateTime return dateTime
} }

View File

@@ -18,8 +18,8 @@ package ical
import ( import (
"github.com/jordic/goics" "github.com/jordic/goics"
"htwkalender/model" "htwkalender-ical/model"
mockTime "htwkalender/service/functions/time" mockTime "htwkalender-ical/service/functions/time"
"reflect" "reflect"
"testing" "testing"
"time" "time"
@@ -100,7 +100,7 @@ func TestIcalModel_EmitICal(t *testing.T) {
Elements: []goics.Componenter{}, Elements: []goics.Componenter{},
Properties: map[string][]string{ Properties: map[string][]string{
"DTSTAMP": {"20231201T000000Z"}, "DTSTAMP": {"20231201T000000Z"},
"UID": {"a8d627d93f518e9096b6f40e36d27b7660fa26d318ef1adc43da750e49ebe4be@htwkalender.de"}, "UID": {"5166fc0abd9d7750077261f1e26a26168d32c88af77198fe83af63e1ba6310dc@htwkalender.de"},
"DTEND": {"00010101T000000Z"}, "DTEND": {"00010101T000000Z"},
"DTSTART": {"00010101T000000Z"}, "DTSTART": {"00010101T000000Z"},
"SUMMARY": {"Test"}, "SUMMARY": {"Test"},
@@ -199,7 +199,7 @@ func TestIcalModel_EmitICal(t *testing.T) {
Elements: []goics.Componenter{}, Elements: []goics.Componenter{},
Properties: map[string][]string{ Properties: map[string][]string{
"DTSTAMP": {"20231201T000000Z"}, "DTSTAMP": {"20231201T000000Z"},
"UID": {"b52a7a081f46eeba9b402114493278a34a48b572c84e53d7ac4da9dea15cdff2@htwkalender.de"}, "UID": {"2463aac347bca19130d8e579b4b6d89a32c88f7c7e7f858e56477d94b71543a7@htwkalender.de"},
"DTEND": {"20231201T010000Z"}, "DTEND": {"20231201T010000Z"},
"DTSTART": {"20231201T000000Z"}, "DTSTART": {"20231201T000000Z"},
"SUMMARY": {"UserDefinedName"}, "SUMMARY": {"UserDefinedName"},
@@ -212,7 +212,7 @@ func TestIcalModel_EmitICal(t *testing.T) {
Elements: []goics.Componenter{}, Elements: []goics.Componenter{},
Properties: map[string][]string{ Properties: map[string][]string{
"DTSTAMP": {"20231201T000000Z"}, "DTSTAMP": {"20231201T000000Z"},
"UID": {"5e946c0c4474bc6e6337262093e3ef31477e026bbc6bab398d755b002506d9d7@htwkalender.de"}, "UID": {"ea42fc31835128735636b235be552af559fae5329fe7e501f529130e11a7f3a1@htwkalender.de"},
"DTEND": {"20231201T010000Z"}, "DTEND": {"20231201T010000Z"},
"DTSTART": {"20231201T000000Z"}, "DTSTART": {"20231201T000000Z"},
"SUMMARY": {"UserDefinedName"}, "SUMMARY": {"UserDefinedName"},

View File

@@ -17,7 +17,7 @@
package names package names
import ( import (
"htwkalender/model" "htwkalender-ical/model"
"testing" "testing"
) )