Files
kontor/go/pkg/tysc/card_test.go
T
2025-01-14 15:35:53 +01:00

111 lines
1.8 KiB
Go

package tysc
import (
"gitlab.thpeetz.de/kontor/kontor-go/pkg/dao"
"reflect"
"testing"
"gopkg.in/mgo.v2/bson"
)
var cardModelTestTable = []struct {
name string
typeName string
}{
{"Id", "string"},
{"Player", "string"},
{"Team", "string"},
{"Manufacturer", "string"},
{"CardSet", "string"},
{"ParallelSet", "string"},
{"InsertSet", "string"},
{"Rookie", "bool"},
{"Year", "int"},
{"Number", "int"},
{"Model", "string"},
}
func TestCardModel(t *testing.T) {
m := Card{}
if reflect.TypeOf(m).NumField() != len(cardModelTestTable) {
t.Fail()
}
for index, testData := range cardModelTestTable {
givenType := reflect.TypeOf(m).Field(index).Type.Kind().String()
if givenType != testData.typeName {
t.Fail()
}
}
}
func TestListCards(t *testing.T) {
var (
cardDao = CardDAO{Db: dao.TestDb}
)
cards, err := cardDao.FindAll()
if err != nil {
t.Fail()
}
if len(cards) != 0 {
t.Fail()
}
}
func TestInsertCard(t *testing.T) {
var (
cardDao = CardDAO{Db: dao.TestDb}
card = Card{}
cards []Card
)
card.ID = bson.NewObjectId()
card.Number = 1
err := cardDao.Insert(card)
if err != nil {
t.Fail()
}
cards, err = cardDao.FindAll()
if err != nil {
t.Fail()
}
if len(cards) != 1 {
t.Fail()
}
}
func TestUpsertCard(t *testing.T) {
var (
cardDao = CardDAO{Db: dao.TestDb}
card = Card{}
)
card.ID = bson.NewObjectId()
card.Number = 2
cardDao.Upsert(card)
cards, err := cardDao.FindAll()
if err != nil {
t.Fail()
}
if len(cards) != 2 {
t.Fail()
}
}
func TestDeleteCard(t *testing.T) {
var (
cardDao = CardDAO{Db: dao.TestDb}
)
cards, err := cardDao.FindAll()
if err != nil {
t.Fail()
}
for _, card := range cards {
cardDao.Delete(card)
}
cards, err = cardDao.FindAll()
if err != nil {
t.Fail()
}
if len(cards) != 0 {
t.Fail()
}
}