Files
kontor/go/pkg/tysc/manufacturer_test.go
T
2025-04-30 17:31:18 +02:00

103 lines
2.0 KiB
Go

package tysc
import (
"gitlab.thpeetz.de/kontor/kontor-go/pkg/dao"
"reflect"
"testing"
"gopkg.in/mgo.v2/bson"
)
var manufacturerModelTestTable = []struct {
name string
typeName string
}{
{"Id", "string"},
{"Name", "string"},
{"Model", "string"},
}
func TestManufacturerModel(t *testing.T) {
m := Manufacturer{}
if reflect.TypeOf(m).NumField() != len(manufacturerModelTestTable) {
t.Fail()
}
for index, testData := range manufacturerModelTestTable {
givenType := reflect.TypeOf(m).Field(index).Type.Kind().String()
if givenType != testData.typeName {
t.Fail()
}
}
}
func TestListManufacturers(t *testing.T) {
var (
manufacturerDao = ManufacturerDAO{Db: dao.TestDb}
)
manufacturers, err := manufacturerDao.FindAll()
if err != nil {
t.Fail()
}
if len(manufacturers) != 0 {
t.Fail()
}
}
func TestInsertManufacturer(t *testing.T) {
var (
manufacturerDao = ManufacturerDAO{Db: dao.TestDb}
manufacturer = Manufacturer{}
manufacturers []Manufacturer
)
manufacturer.ID = bson.NewObjectId()
manufacturer.Name = "test"
err := manufacturerDao.Insert(manufacturer)
if err != nil {
t.Fail()
}
manufacturers, err = manufacturerDao.FindAll()
if err != nil {
t.Fail()
}
if len(manufacturers) != 1 {
t.Fail()
}
}
func TestUpsertManufacturer(t *testing.T) {
var (
manufacturerDao = ManufacturerDAO{Db: dao.TestDb}
manufacturer = Manufacturer{}
)
manufacturer.ID = bson.NewObjectId()
manufacturer.Name = "test2"
manufacturerDao.Upsert(manufacturer)
manufacturers, err := manufacturerDao.FindAll()
if err != nil {
t.Fail()
}
if len(manufacturers) != 2 {
t.Fail()
}
}
func TestDeleteManufacturer(t *testing.T) {
var (
manufacturerDao = ManufacturerDAO{Db: dao.TestDb}
)
manufacturers, err := manufacturerDao.FindAll()
if err != nil {
t.Fail()
}
for _, manufacturer := range manufacturers {
manufacturerDao.Delete(manufacturer)
}
manufacturers, err = manufacturerDao.FindAll()
if err != nil {
t.Fail()
}
if len(manufacturers) != 0 {
t.Fail()
}
}