103 lines
2.0 KiB
Go
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()
|
|
}
|
|
}
|