Files
bamort/backend/tests/stammdaten_test.go
T
2024-12-28 23:07:04 +01:00

124 lines
4.1 KiB
Go

package tests
import (
"bamort/database"
"bamort/models"
"testing"
"github.com/stretchr/testify/assert"
"gorm.io/gorm"
)
func initTestDB4Stammdaten() *gorm.DB {
db := SetupTestDB()
db.AutoMigrate(
&models.ImStammFertigkeit{}, //needed for stammdaten.CheckFertigkeit
&models.ImStammZauber{}, //needed for stammdaten.CheckZauber
&models.ImStammWaffenFertigkeit{}, //needed for stammdaten.CheckWaffenFertigkeit
)
return db
}
func TestCreateStammdatenFertigkeiten(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammFertigkeit{}
stamm.System = "Midgard"
stamm.Name = "Lesen"
stamm.Beschreibung = "Lesen und Schreiben"
stamm.Quelle = "kod-4711"
stamm.Initialkeitswert = 8
stamm.Bonuseigenschaft = "In"
err := stamm.Create()
assert.NoError(t, err, "expexted Error does not exist in Fertigkeit Stammdaten")
assert.GreaterOrEqual(t, 1, int(stamm.ID), "exepets an ID to be present")
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenFertigkeiten(t *testing.T) {
// Setup test database
TestCreateStammdatenFertigkeiten(t)
stamm := models.ImStammFertigkeit{}
stamm.Name = "Lesen"
err := stamm.First("Lesen")
assert.NoError(t, err, "expexted Error does not exist in Fertigkeit Stammdaten")
assert.GreaterOrEqual(t, 1, int(stamm.ID), "exepets an ID to be present")
assert.Equal(t, "midgard", stamm.System)
assert.Equal(t, "In", stamm.Bonuseigenschaft)
}
func TestCreateStammdatenWaffenFertigkeiten(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammWaffenFertigkeit{}
stamm.System = "Midgard"
stamm.Name = "Stichwaffen"
stamm.Beschreibung = "Für Dolche und Ochsenzungen"
stamm.Quelle = "kod-4712"
stamm.Initialkeitswert = 5
stamm.Bonuseigenschaft = "Gs"
err := stamm.Create()
assert.NoError(t, err, "expexted Error does not exist in WaffenFertigkeit Stammdaten")
assert.GreaterOrEqual(t, 1, int(stamm.ID), "exepets an ID to be present")
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenWaffenFertigkeiten(t *testing.T) {
// Setup test database
TestCreateStammdatenWaffenFertigkeiten(t)
stamm := models.ImStammWaffenFertigkeit{}
stamm.Name = "Lesen"
err := stamm.First("Stichwaffen")
assert.NoError(t, err, "expexted Error does not exist in WaffenFertigkeit Stammdaten")
assert.GreaterOrEqual(t, 1, int(stamm.ID), "exepets an ID to be present")
assert.Equal(t, "midgard", stamm.System)
assert.Equal(t, "Stichwaffen", stamm.Name)
assert.Equal(t, "Für Dolche und Ochsenzungen", stamm.Beschreibung)
assert.Equal(t, "Gs", stamm.Bonuseigenschaft)
}
func TestCreateStammdatenZauber(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammZauber{}
stamm.System = "Midgard"
stamm.Name = "Unsichtbarkeit"
stamm.Beschreibung = "werde unsichtbar"
stamm.Quelle = "Ark-4711"
stamm.Stufe = 1
stamm.AP = 1
stamm.Reichweite = 0
stamm.Wirkungsziel = "Zauberer"
stamm.Bonus = 0
err := stamm.Create()
assert.NoError(t, err, "expexted Error does not exist in Fertigkeit Stammdaten")
assert.GreaterOrEqual(t, 1, int(stamm.ID), "exepets an ID to be present")
assert.Equal(t, "midgard", stamm.System)
assert.Equal(t, "Unsichtbarkeit", stamm.Name)
assert.Equal(t, "werde unsichtbar", stamm.Beschreibung)
assert.Equal(t, 1, stamm.Stufe)
}
func TestFindStammdatenZauber(t *testing.T) {
// Setup test database
TestCreateStammdatenZauber(t)
stamm := models.ImStammZauber{}
stamm.Name = "lesen"
err := stamm.First("Unsichtbarkeit")
assert.NoError(t, err, "expexted Error does not exist in Fertigkeit Stammdaten")
assert.GreaterOrEqual(t, 1, int(stamm.ID), "exepets an ID to be present")
assert.Equal(t, "midgard", stamm.System)
assert.Equal(t, "Unsichtbarkeit", stamm.Name)
assert.Equal(t, "werde unsichtbar", stamm.Beschreibung)
assert.Equal(t, 1, stamm.AP)
assert.Equal(t, 0, stamm.Reichweite)
assert.Equal(t, "Zauberer", stamm.Wirkungsziel)
assert.Equal(t, 0, stamm.Bonus)
}