mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-07-24 13:38:48 +02:00
127 lines
4.1 KiB
Go
127 lines
4.1 KiB
Go
package model
|
|
|
|
import (
|
|
"github.com/pocketbase/pocketbase/models"
|
|
"testing"
|
|
)
|
|
|
|
func TestEvents_Contains(t *testing.T) {
|
|
type args struct {
|
|
event Event
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
m Events
|
|
args args
|
|
want bool
|
|
}{
|
|
{
|
|
name: "empty events",
|
|
m: Events{},
|
|
args: args{event: Event{}},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "one event",
|
|
m: Events{{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}},
|
|
args: args{event: Event{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}},
|
|
want: true,
|
|
},
|
|
{
|
|
name: "two events",
|
|
m: Events{{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, {Day: "test2", Week: "test2", Start: "test2", End: "test2", Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
|
|
args: args{event: Event{Day: "test2", Week: "test2", Start: "test2", End: "test2", Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
|
|
want: true,
|
|
},
|
|
{
|
|
name: "two events with different values",
|
|
m: Events{{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}, {Day: "test2", Week: "test2", Start: "test2", End: "test2", Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
|
|
args: args{event: Event{Day: "test3", Week: "test3", Start: "test3", End: "test3", Name: "test3", Course: "test3", Prof: "test3", Rooms: "test3", EventType: "test3"}},
|
|
want: false,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := tt.m.Contains(tt.args.event); got != tt.want {
|
|
t.Errorf("Contains() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestEvent_Equals(t *testing.T) {
|
|
type fields struct {
|
|
UUID string
|
|
Day string
|
|
Week string
|
|
Start string
|
|
End string
|
|
Name string
|
|
EventType string
|
|
Prof string
|
|
Rooms string
|
|
Notes string
|
|
BookedAt string
|
|
Course string
|
|
Semester string
|
|
BaseModel models.BaseModel
|
|
}
|
|
type args struct {
|
|
event Event
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
fields fields
|
|
args args
|
|
want bool
|
|
}{
|
|
{
|
|
name: "empty events",
|
|
fields: fields{},
|
|
args: args{event: Event{}},
|
|
want: true,
|
|
},
|
|
{
|
|
name: "one empty one not",
|
|
fields: fields{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"},
|
|
args: args{event: Event{}},
|
|
want: false,
|
|
},
|
|
{
|
|
name: "one event",
|
|
fields: fields{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"},
|
|
args: args{event: Event{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"}},
|
|
want: true,
|
|
},
|
|
{
|
|
name: "two events",
|
|
fields: fields{Day: "test", Week: "test", Start: "test", End: "test", Name: "test", Course: "test", Prof: "test", Rooms: "test", EventType: "test"},
|
|
args: args{event: Event{Day: "test2", Week: "test2", Start: "test2", End: "test2", Name: "test2", Course: "test2", Prof: "test2", Rooms: "test2", EventType: "test2"}},
|
|
want: false,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
m := &Event{
|
|
UUID: tt.fields.UUID,
|
|
Day: tt.fields.Day,
|
|
Week: tt.fields.Week,
|
|
Start: tt.fields.Start,
|
|
End: tt.fields.End,
|
|
Name: tt.fields.Name,
|
|
EventType: tt.fields.EventType,
|
|
Prof: tt.fields.Prof,
|
|
Rooms: tt.fields.Rooms,
|
|
Notes: tt.fields.Notes,
|
|
BookedAt: tt.fields.BookedAt,
|
|
Course: tt.fields.Course,
|
|
Semester: tt.fields.Semester,
|
|
BaseModel: tt.fields.BaseModel,
|
|
}
|
|
if got := m.Equals(tt.args.event); got != tt.want {
|
|
t.Errorf("Equals() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|