added tests

This commit is contained in:
2025-01-18 23:50:02 +01:00
parent 0c77d8c2ce
commit 1ef16940e6
5 changed files with 513 additions and 258 deletions
+34 -20
View File
@@ -88,7 +88,7 @@ func (object *LookupList) Create() error {
func (object *LookupList) First(value string) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND name = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND name = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -98,7 +98,7 @@ func (object *LookupList) First(value string) error {
func (object *LookupList) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -114,9 +114,11 @@ func (object *LookupList) Save() error {
}
return nil
}
func (object *Skill) TableName() string {
return dbPrefix + "_" + "skills"
}
func (stamm *Skill) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -133,7 +135,7 @@ func (stamm *Skill) Create() error {
func (stamm *Skill) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// Fertigkeit found
return err
@@ -143,7 +145,7 @@ func (stamm *Skill) First(name string) error {
func (object *Skill) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -176,7 +178,7 @@ func (object *Skill) GetSkillCategories() ([]string, error) {
gameSystem := "midgard"
result := database.DB.Model(&Skill{}).
Where("system = ? and category is not null", gameSystem).
Where("game_system = ? and category is not null", gameSystem).
Distinct().
Pluck("category", &categories)
@@ -190,6 +192,7 @@ func (object *Skill) GetSkillCategories() ([]string, error) {
func (object *WeaponSkill) TableName() string {
return dbPrefix + "_" + "weaponskills"
}
func (stamm *WeaponSkill) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -206,7 +209,7 @@ func (stamm *WeaponSkill) Create() error {
func (stamm *WeaponSkill) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// Fertigkeit found
return err
@@ -216,7 +219,7 @@ func (stamm *WeaponSkill) First(name string) error {
func (object *WeaponSkill) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -232,9 +235,11 @@ func (object *WeaponSkill) Save() error {
}
return nil
}
func (object *Spell) TableName() string {
return dbPrefix + "_" + "spells"
}
func (stamm *Spell) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -251,7 +256,7 @@ func (stamm *Spell) Create() error {
func (stamm *Spell) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// zauber found
return err
@@ -261,7 +266,7 @@ func (stamm *Spell) First(name string) error {
func (object *Spell) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -283,7 +288,7 @@ func (object *Spell) GetSpellCategories() ([]string, error) {
gameSystem := "midgard"
result := database.DB.Model(&Spell{}).
Where("system = ? and category is not null", gameSystem).
Where("game_system=? and category is not null", gameSystem).
Distinct().
Pluck("category", &categories)
@@ -297,6 +302,7 @@ func (object *Spell) GetSpellCategories() ([]string, error) {
func (object *Equipment) TableName() string {
return dbPrefix + "_" + "equipments"
}
func (stamm *Equipment) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -313,7 +319,7 @@ func (stamm *Equipment) Create() error {
func (stamm *Equipment) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// zauber found
return err
@@ -323,7 +329,7 @@ func (stamm *Equipment) First(name string) error {
func (object *Equipment) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -339,9 +345,11 @@ func (object *Equipment) Save() error {
}
return nil
}
func (object *Weapon) TableName() string {
return dbPrefix + "_" + "weapons"
}
func (stamm *Weapon) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -358,7 +366,7 @@ func (stamm *Weapon) Create() error {
func (stamm *Weapon) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// zauber found
return err
@@ -368,7 +376,7 @@ func (stamm *Weapon) First(name string) error {
func (object *Weapon) FirstId(id uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, id).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, id).Error
if err != nil {
return err
}
@@ -383,9 +391,11 @@ func (object *Weapon) Save() error {
}
return nil
}
func (object *Container) TableName() string {
return dbPrefix + "_" + "containers"
}
func (stamm *Container) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -402,7 +412,7 @@ func (stamm *Container) Create() error {
func (stamm *Container) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// zauber found
return err
@@ -412,7 +422,7 @@ func (stamm *Container) First(name string) error {
func (object *Container) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -428,9 +438,11 @@ func (object *Container) Save() error {
}
return nil
}
func (object *Transportation) TableName() string {
return dbPrefix + "_" + "transportations"
}
func (stamm *Transportation) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -447,7 +459,7 @@ func (stamm *Transportation) Create() error {
func (object *Transportation) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -457,7 +469,7 @@ func (object *Transportation) FirstId(value uint) error {
func (stamm *Transportation) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// zauber found
return err
@@ -473,9 +485,11 @@ func (object *Transportation) Save() error {
}
return nil
}
func (object *Believe) TableName() string {
return dbPrefix + "_" + "believes"
}
func (stamm *Believe) Create() error {
gameSystem := "midgard"
stamm.GameSystem = gameSystem
@@ -492,7 +506,7 @@ func (stamm *Believe) Create() error {
func (object *Believe) FirstId(value uint) error {
gameSystem := "midgard"
err := database.DB.First(&object, "system=? AND id = ?", gameSystem, value).Error
err := database.DB.First(&object, "game_system=? AND id = ?", gameSystem, value).Error
if err != nil {
// zauber found
return err
@@ -502,7 +516,7 @@ func (object *Believe) FirstId(value uint) error {
func (stamm *Believe) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
err := database.DB.First(&stamm, "game_system=? AND name = ?", gameSystem, name).Error
if err != nil {
// zauber found
return err
+414
View File
@@ -0,0 +1,414 @@
package tests
import (
"bamort/gsmaster"
"testing"
"github.com/stretchr/testify/assert"
)
func TestSkill_Create(t *testing.T) {
SetupTestDB()
tests := []struct {
name string
skill *gsmaster.Skill
wantErr bool
}{
{
name: "valid skill",
skill: &gsmaster.Skill{
LookupList: gsmaster.LookupList{
Name: "Test Skill",
Beschreibung: "Test Description",
Quelle: "Test Source",
},
Initialwert: 5,
Bonuseigenschaft: "st",
Improvable: true,
InnateSkill: false,
Category: "Test Category",
},
wantErr: false,
},
/*{
name: "nil skill",
skill: nil,
wantErr: true,
},*/
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := tt.skill.Create()
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
assert.Equal(t, "midgard", tt.skill.GameSystem)
assert.NotZero(t, tt.skill.ID)
})
}
resetDB()
}
func TestWeaponSkill_Create(t *testing.T) {
SetupTestDB()
tests := []struct {
name string
weaponSkill *gsmaster.WeaponSkill
wantErr bool
}{
{
name: "valid weapon skill",
weaponSkill: &gsmaster.WeaponSkill{
Skill: gsmaster.Skill{
LookupList: gsmaster.LookupList{
Name: "Test Weapon Skill",
Beschreibung: "Test Description",
Quelle: "Test Source",
},
Initialwert: 5,
Bonuseigenschaft: "st",
Improvable: true,
InnateSkill: false,
Category: "Test Category",
},
},
wantErr: false,
},
/*{
name: "nil weapon skill",
weaponSkill: nil,
wantErr: true,
},*/
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := tt.weaponSkill.Create()
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
assert.Equal(t, "midgard", tt.weaponSkill.GameSystem)
assert.NotZero(t, tt.weaponSkill.ID)
})
}
resetDB()
}
func TestSkill_TableName(t *testing.T) {
SetupTestDB()
skill := &gsmaster.Skill{}
expected := "gsm_skills"
assert.Equal(t, expected, skill.TableName())
resetDB()
}
func TestSkill_First(t *testing.T) {
SetupTestDB()
tests := []struct {
name string
skill *gsmaster.Skill
findName string
wantErr bool
}{
{
name: "existing skill",
skill: &gsmaster.Skill{
LookupList: gsmaster.LookupList{
Name: "Test Skill",
GameSystem: "midgard",
},
},
findName: "Test Skill",
wantErr: false,
},
{
name: "non-existing skill",
skill: &gsmaster.Skill{},
findName: "NonExistent",
wantErr: true,
},
{
name: "empty name",
skill: &gsmaster.Skill{},
findName: "",
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if !tt.wantErr {
// Create test data first
err := tt.skill.Create()
assert.NoError(t, err)
}
s := &gsmaster.Skill{}
err := s.First(tt.findName)
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
assert.Equal(t, tt.skill.Name, s.Name)
assert.Equal(t, "midgard", s.GameSystem)
})
}
resetDB()
}
func TestSkill_FirstId(t *testing.T) {
SetupTestDB()
tests := []struct {
name string
skill *gsmaster.Skill
findId uint
wantErr bool
}{
{
name: "existing skill",
skill: &gsmaster.Skill{
LookupList: gsmaster.LookupList{
Name: "Test Skill",
GameSystem: "midgard",
},
},
findId: 1,
wantErr: false,
},
{
name: "non-existing id",
skill: &gsmaster.Skill{},
findId: 9999,
wantErr: true,
},
{
name: "zero id",
skill: &gsmaster.Skill{},
findId: 0,
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if !tt.wantErr {
// Create test data first
err := tt.skill.Create()
assert.NoError(t, err)
tt.findId = tt.skill.ID
}
s := &gsmaster.Skill{}
err := s.FirstId(tt.findId)
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
assert.Equal(t, tt.skill.Name, s.Name)
assert.Equal(t, "midgard", s.GameSystem)
assert.Equal(t, tt.findId, s.ID)
})
}
resetDB()
}
func TestSkill_Save(t *testing.T) {
SetupTestDB()
tests := []struct {
name string
skill *gsmaster.Skill
wantErr bool
}{
{
name: "update existing skill",
skill: &gsmaster.Skill{
LookupList: gsmaster.LookupList{
Name: "Test Skill",
Beschreibung: "Original Description",
GameSystem: "midgard",
},
},
wantErr: false,
},
/*{
name: "nil skill",
skill: nil,
wantErr: true,
},*/
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if !tt.wantErr {
// Create initial record
err := tt.skill.Create()
assert.NoError(t, err)
// Modify the skill
tt.skill.Beschreibung = "Updated Description"
}
if tt.skill != nil {
err := tt.skill.Save()
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
// Verify the update
saved := &gsmaster.Skill{}
err = saved.FirstId(tt.skill.ID)
assert.NoError(t, err)
assert.Equal(t, "Updated Description", saved.Beschreibung)
}
})
}
resetDB()
}
func TestSkill_Delete(t *testing.T) {
SetupTestDB()
tests := []struct {
name string
skill *gsmaster.Skill
wantErr bool
}{
{
name: "delete existing skill",
skill: &gsmaster.Skill{
LookupList: gsmaster.LookupList{
Name: "Test Skill",
GameSystem: "midgard",
},
},
wantErr: false,
},
{
name: "delete non-existing skill",
skill: &gsmaster.Skill{
LookupList: gsmaster.LookupList{
ID: 9999,
},
},
wantErr: true,
},
/*{
name: "delete nil skill",
skill: nil,
wantErr: true,
},*/
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if !tt.wantErr && tt.skill != nil {
// Create test data first
err := tt.skill.Create()
assert.NoError(t, err)
}
var err error
if tt.skill != nil {
err = tt.skill.Delete()
}
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
// Verify deletion
s := &gsmaster.Skill{}
err = s.FirstId(tt.skill.ID)
assert.Error(t, err) // Should error since record is deleted
})
}
resetDB()
}
func TestSkill_GetSkillCategories(t *testing.T) {
SetupTestDB()
// Create test skills with different categories
testSkills := []*gsmaster.Skill{
{
LookupList: gsmaster.LookupList{
Name: "Skill1",
GameSystem: "midgard",
},
Category: "Category1",
},
{
LookupList: gsmaster.LookupList{
Name: "Skill2",
GameSystem: "midgard",
},
Category: "Category2",
},
{
LookupList: gsmaster.LookupList{
Name: "Skill3",
GameSystem: "midgard",
},
Category: "Category1", // Duplicate category
},
{
LookupList: gsmaster.LookupList{
Name: "Skill4",
GameSystem: "midgard",
},
Category: "", // Empty category
},
}
// Create test data
for _, skill := range testSkills {
err := skill.Create()
assert.NoError(t, err)
}
tests := []struct {
name string
expectedCount int
expectedFound []string
wantErr bool
}{
{
name: "get categories",
expectedCount: 3,
expectedFound: []string{"Category1", "Category2", ""},
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
s := &gsmaster.Skill{}
categories, err := s.GetSkillCategories()
if tt.wantErr {
assert.Error(t, err)
return
}
assert.NoError(t, err)
assert.Len(t, categories, tt.expectedCount)
assert.ElementsMatch(t, tt.expectedFound, categories)
})
}
resetDB()
}
+49
View File
@@ -0,0 +1,49 @@
package tests
import (
"bamort/gsmaster"
"fmt"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
// GenerateFilename generates a filename based on the prefix and the current date/time
func generateFilename(prefix string, extension string) string {
// Get the current date and time
now := time.Now()
// Format the date and time as "YYYY-MM-DD_HH-MM-SS"
//timestamp = now.Format("2006-01-02_15-04-05")
timestamp := now.Format("20060102_150405")
// Combine the prefix and the timestamp to form the filename
return fmt.Sprintf("%s_%s.%s", prefix, timestamp, extension)
}
func TestExportGSMasterdata(t *testing.T) {
SetupTestDB()
TestImportSkill2GSMaster(t)
TestImportWeaponSkill2GSMaster(t)
TestImportSpell2GSMaster(t)
TestImportWeapon2GSMaster(t)
TestImportContainer2GSMaster(t)
TestImportTransportation2GSMaster(t)
TestImportEquipment2GSMaster(t)
TestImportBelieve2GSMaster(t)
err := gsmaster.Export(generateFilename("../testdata/gsmaster_", "json"))
assert.NoError(t, err, "expexted no Error during Export if gsmaster data")
}
func TestImportGSMasterdata(t *testing.T) {
SetupTestDB()
err := gsmaster.Import("../testdata/gsmaster_exported_gsdata.json")
assert.NoError(t, err, "expexted no Error during Export if gsmaster data")
}
func TestMigrateStructure(t *testing.T) {
SetupTestDB()
err := gsmaster.MigrateStructure()
assert.NoError(t, err, "expexted no Error during MigrateStructure")
}
+16 -3
View File
@@ -15,17 +15,18 @@ import (
)
var migrationDone bool
var isTestDb bool
// SetupTestDB creates an in-memory SQLite database for testing
func SetupTestDB(opts ...bool) {
useTestDB := true
isTestDb = true
if len(opts) > 0 {
useTestDB = opts[0]
isTestDb = opts[0]
}
if database.DB == nil {
var db *gorm.DB
var err error
if useTestDB {
if isTestDb {
//*
db, err = gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
if err != nil {
@@ -49,6 +50,18 @@ func SetupTestDB(opts ...bool) {
if err != nil {
panic("failed to MigrateStructure")
}
migrationDone = true
}
}
func resetDB() {
if isTestDb {
sqlDB, err := database.DB.DB()
if err == nil {
sqlDB.Close()
database.DB = nil
migrationDone = false
}
}
}
-235
View File
@@ -1,235 +0,0 @@
package tests
import (
"bamort/gsmaster"
"fmt"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
// GenerateFilename generates a filename based on the prefix and the current date/time
func generateFilename(prefix string, extension string) string {
// Get the current date and time
now := time.Now()
// Format the date and time as "YYYY-MM-DD_HH-MM-SS"
//timestamp = now.Format("2006-01-02_15-04-05")
timestamp := now.Format("20060102_150405")
// Combine the prefix and the timestamp to form the filename
return fmt.Sprintf("%s_%s.%s", prefix, timestamp, extension)
}
/*
func TestCreateLookupSkill(t *testing.T) {
SetupTestDB()
stamm := gsmaster.Skill{}
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 TestFindLookupSkill(t *testing.T) {
// Setup test database
TestCreateLookupSkill(t)
stamm := gsmaster.Skill{}
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 TestCreateLookupWeaponSkill(t *testing.T) {
// Setup test database
SetupTestDB()
stamm := gsmaster.WeaponSkill{}
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 TestFindLookupWeaponSkill(t *testing.T) {
// Setup test database
TestCreateLookupWeaponSkill(t)
stamm := gsmaster.WeaponSkill{}
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 TestCreateLookupSpell(t *testing.T) {
// Setup test database
SetupTestDB()
stamm := gsmaster.Spell{}
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 TestFindLookupSpell(t *testing.T) {
// Setup test database
TestCreateLookupSpell(t)
stamm := gsmaster.Spell{}
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)
}
func TestCreateLookupEquipment(t *testing.T) {
// Setup test database
SetupTestDB()
stamm := gsmaster.Equipment{}
stamm.System = "Midgard"
stamm.Name = "Decke"
stamm.Beschreibung = "zum zudecken"
stamm.Quelle = "kod-4713"
stamm.Gewicht = 0.2
stamm.Wert = 300
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 TestFindLookupEquipment(t *testing.T) {
// Setup test database
TestCreateLookupEquipment(t)
stamm := gsmaster.Equipment{}
stamm.Name = "Lesen"
err := stamm.First("Decke")
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, 0.2, stamm.Gewicht)
}
func TestCreateLookupContainer(t *testing.T) {
// Setup test database
SetupTestDB()
stamm := gsmaster.Container{}
stamm.System = "Midgard"
stamm.Name = "Topf"
stamm.Beschreibung = "zum kochen"
stamm.Quelle = "kod-4714"
stamm.Gewicht = 0.6
stamm.Wert = 300
stamm.Volumen = 12.2
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 TestFindLookupContainer(t *testing.T) {
// Setup test database
TestCreateLookupContainer(t)
stamm := gsmaster.Container{}
stamm.Name = "Lesen"
err := stamm.First("Topf")
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, 0.6, stamm.Gewicht)
assert.Equal(t, 12.2, stamm.Volumen)
}
func TestCreateLookupTransportation(t *testing.T) {
// Setup test database
SetupTestDB()
stamm := gsmaster.Transportation{}
stamm.System = "Midgard"
stamm.Name = "Topf"
stamm.Beschreibung = "zum kochen"
stamm.Quelle = "kod-4714"
stamm.Gewicht = 0.6
stamm.Wert = 300
stamm.Volumen = 12.5
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 TestFindLookupTransportation(t *testing.T) {
// Setup test database
TestCreateLookupTransportation(t)
stamm := gsmaster.Transportation{}
stamm.Name = "Lesen"
err := stamm.First("Topf")
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, 0.6, stamm.Gewicht)
assert.Equal(t, 12.5, stamm.Volumen)
}
*/
func TestExportGSMasterdata(t *testing.T) {
SetupTestDB()
TestImportSkill2GSMaster(t)
TestImportWeaponSkill2GSMaster(t)
TestImportSpell2GSMaster(t)
TestImportWeapon2GSMaster(t)
TestImportContainer2GSMaster(t)
TestImportTransportation2GSMaster(t)
TestImportEquipment2GSMaster(t)
TestImportBelieve2GSMaster(t)
err := gsmaster.Export(generateFilename("../testdata/gsmaster_", "json"))
assert.NoError(t, err, "expexted no Error during Export if gsmaster data")
}
func TestImportGSMasterdata(t *testing.T) {
SetupTestDB()
err := gsmaster.Import("../testdata/gsmaster_exported_gsdata.json")
assert.NoError(t, err, "expexted no Error during Export if gsmaster data")
}