Files
kontor/go/pkg/tysc/player_test.go
T
2025-01-09 19:28:50 +01:00

104 lines
1.7 KiB
Go

package tysc
import (
"gitlab.thpeetz.de/kontor/kontor-go/pkg/dao"
"reflect"
"testing"
"gopkg.in/mgo.v2/bson"
)
var playerModelTestTable = []struct {
name string
typeName string
}{
{"Id", "string"},
{"Firstname", "string"},
{"Lastname", "string"},
{"Model", "string"},
}
func TestPlayerModel(t *testing.T) {
m := Player{}
if reflect.TypeOf(m).NumField() != len(playerModelTestTable) {
t.Fail()
}
for index, testData := range playerModelTestTable {
givenType := reflect.TypeOf(m).Field(index).Type.Kind().String()
if givenType != testData.typeName {
t.Fail()
}
}
}
func TestListPlayers(t *testing.T) {
var (
playerDao = PlayerDAO{Db: dao.TestDb}
)
players, err := playerDao.FindAll()
if err != nil {
t.Fail()
}
if players != nil {
t.Fail()
}
}
func TestInsertPlayer(t *testing.T) {
var (
playerDao = PlayerDAO{Db: dao.TestDb}
player = Player{}
players []Player
)
player.ID = bson.NewObjectId()
player.Lastname = "test"
err := playerDao.Insert(player)
if err != nil {
t.Fail()
}
players, err = playerDao.FindAll()
if err != nil {
t.Fail()
}
if len(players) != 1 {
t.Fail()
}
}
func TestUpsertPlayer(t *testing.T) {
var (
playerDao = PlayerDAO{Db: dao.TestDb}
player = Player{}
)
player.ID = bson.NewObjectId()
player.Lastname = "test2"
playerDao.Upsert(player)
players, err := playerDao.FindAll()
if err != nil {
t.Fail()
}
if len(players) != 2 {
t.Fail()
}
}
func TestDeletePlayer(t *testing.T) {
var (
playerDao = PlayerDAO{Db: dao.TestDb}
)
players, err := playerDao.FindAll()
if err != nil {
t.Fail()
}
for _, player := range players {
playerDao.Delete(player)
}
players, err = playerDao.FindAll()
if err != nil {
t.Fail()
}
if len(players) != 0 {
t.Fail()
}
}