Added test suites for all current models

This commit is contained in:
🐙PiperYxzzy
2022-05-01 20:49:03 +02:00
parent 5f85a5800e
commit 6e7b30be0a
12 changed files with 400 additions and 27 deletions

54
models/base_test.go Normal file
View File

@@ -0,0 +1,54 @@
package models
import (
"testing"
"time"
"github.com/google/uuid"
)
func TestOnCreateNewUUID(t *testing.T) {
now := time.Now()
b := Base{}
b.BeforeCreate(nil)
if b.Uid == uuid.Nil {
t.Errorf("did not generate uuid BeforeCreate")
}
if b.Created.IsZero() {
t.Errorf("did not set created time")
}
if !b.Created.After(now) {
t.Errorf("created date should be after %v, was %v", now, b.Created)
}
if !b.Updated.IsZero() {
t.Errorf("updated date already set to %v", b.Updated)
}
if !b.Deleted.IsZero() {
t.Errorf("deleted date already set to %v", b.Updated)
}
}
func TestOnSaveUpdateDate(t *testing.T) {
now := time.Now()
b := Base{}
b.BeforeSave(nil)
if !b.Updated.After(now) {
t.Errorf("updated date should be updated to after %v, is %v", now, b.Updated)
}
}
func TestDeleteSetsTime(t *testing.T) {
now := time.Now()
b := Base{}
b.Delete()
if !b.Deleted.After(now) {
t.Errorf("updated date should be updated to after %v, is %v", now, b.Updated)
}
}