renamed struct filed System to GameSystem

fixed error when calling TestSetupCheck
This commit is contained in:
2025-01-18 20:59:54 +01:00
parent 3c8e415359
commit bf209173bc
7 changed files with 98 additions and 151 deletions
+12 -12
View File
@@ -10,8 +10,8 @@ import (
var dbPrefix = "gsm"
type LookupList struct {
ID uint `gorm:"primaryKey" json:"id"`
System string `gorm:"index" gorm:"default:midgard" json:"system"`
ID uint `gorm:"primaryKey" json:"id"` //`gorm:"default:uuid_generate_v3()"` // db func
GameSystem string `gorm:"index;default:midgard" json:"system"`
Name string `json:"name"`
Beschreibung string `json:"beschreibung"`
Quelle string `json:"quelle"`
@@ -42,7 +42,7 @@ type Spell struct {
Wirkungsbereich string `json:"wirkungsbereich"`
Wirkungsdauer string `json:"wirkungsdauer"`
Ursprung string `json:"ursprung"`
Category string `gorm:"default:normal"json:"category"`
Category string `gorm:"default:normal" json:"category"`
}
type Equipment struct {
@@ -73,7 +73,7 @@ type Believe struct {
func (object *LookupList) Create() error {
gameSystem := "midgard"
object.System = gameSystem
object.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&object).Error; err != nil {
@@ -118,7 +118,7 @@ func (object *Skill) TableName() string {
}
func (stamm *Skill) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -191,7 +191,7 @@ func (object *WeaponSkill) TableName() string {
}
func (stamm *WeaponSkill) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -236,7 +236,7 @@ func (object *Spell) TableName() string {
}
func (stamm *Spell) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -298,7 +298,7 @@ func (object *Equipment) TableName() string {
}
func (stamm *Equipment) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -343,7 +343,7 @@ func (object *Weapon) TableName() string {
}
func (stamm *Weapon) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -387,7 +387,7 @@ func (object *Container) TableName() string {
}
func (stamm *Container) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -432,7 +432,7 @@ func (object *Transportation) TableName() string {
}
func (stamm *Transportation) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
@@ -477,7 +477,7 @@ func (object *Believe) TableName() string {
}
func (stamm *Believe) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
stamm.GameSystem = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
+2 -2
View File
@@ -21,7 +21,7 @@ func CheckSkill(fertigkeit *Fertigkeit, autocreate bool) (*gsmaster.Skill, error
if !autocreate {
return nil, fmt.Errorf("does not exist in Fertigkeit importer")
}
stammF.System = "midgard"
stammF.GameSystem = "midgard"
stammF.Name = fertigkeit.Name
if stammF.Name != "Sprache" {
stammF.Beschreibung = fertigkeit.Beschreibung
@@ -62,7 +62,7 @@ func CheckSpell(zauber *Zauber, autocreate bool) (*gsmaster.Spell, error) {
if !autocreate {
return nil, fmt.Errorf("does not exist in zauber importer")
}
stammF.System = "midgard"
stammF.GameSystem = "midgard"
stammF.Name = zauber.Name
stammF.Beschreibung = zauber.Beschreibung
stammF.AP = "1"
+8 -8
View File
@@ -232,7 +232,7 @@ func TransformImportFertigkeit2GSDMaster(object *Fertigkeit) (*gsmaster.Skill, e
if !gsmobj.Improvable {
gsmobj.Improvable = isImprovableSkill(gsmobj.Name)
}
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
err = gsmobj.Create()
if err != nil {
return nil, fmt.Errorf("creating gsmaster record failed: %s", err)
@@ -255,7 +255,7 @@ func TransformImportWaffenFertigkeit2GSDMaster(object *Waffenfertigkeit) (*gsmas
gsmobj.Quelle = object.Quelle
gsmobj.Bonuseigenschaft = "check"
gsmobj.Improvable = true
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
err = gsmobj.Create()
if err != nil {
return nil, fmt.Errorf("creating gsmaster record failed: %s", err)
@@ -279,7 +279,7 @@ func TransformImportSpell2GSDMaster(object *Zauber) (*gsmaster.Spell, error) {
gsmobj.Reichweite = "0m"
gsmobj.Wirkungsziel = ""
gsmobj.Quelle = object.Quelle
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
err = gsmobj.Create()
if err != nil {
return nil, fmt.Errorf("creating gsmaster record failed: %s", err)
@@ -296,7 +296,7 @@ func TransformImportWeapon2GSDMaster(object *Waffe) (*gsmaster.Weapon, error) {
return &gsmobj, nil
}
// if not found insert to masterdata
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
gsmobj.Name = object.Name
gsmobj.Beschreibung = object.Beschreibung
//gsmobj.Quelle = object.Quelle
@@ -320,7 +320,7 @@ func TransformImportContainer2GSDMaster(object *Behaeltniss) (*gsmaster.Containe
return &gsmobj, nil
}
// if not found insert to masterdata
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
gsmobj.Name = object.Name
gsmobj.Beschreibung = object.Beschreibung
//gsmobj.Quelle = object.Quelle
@@ -344,7 +344,7 @@ func TransformImportTransportation2GSDMaster(object *Transportation) (*gsmaster.
return &gsmobj, nil
}
// if not found insert to masterdata
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
gsmobj.Name = object.Name
gsmobj.Beschreibung = object.Beschreibung
//gsmobj.Quelle = object.Quelle
@@ -367,7 +367,7 @@ func TransformImportEquipment2GSDMaster(object *Ausruestung) (*gsmaster.Equipmen
return &gsmobj, nil
}
// if not found insert to masterdata
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
gsmobj.Name = object.Name
gsmobj.Beschreibung = object.Beschreibung
//gsmobj.Quelle = object.Quelle
@@ -390,7 +390,7 @@ func TransformImportBelieve2GSDMaster(object string) (*gsmaster.Believe, error)
return &gsmobj, nil
}
// if not found insert to masterdata
gsmobj.System = "midgard"
gsmobj.GameSystem = "midgard"
gsmobj.Name = object
gsmobj.Beschreibung = ""
//gsmobj.Quelle = object.Quelle
+32 -67
View File
@@ -15,79 +15,44 @@ import (
func SetupCheck(c *gin.Context) {
db := database.ConnectDatabase()
if db == nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to connect to DataBase"})
return
}
err := migrateStructure()
err := database.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate DataBase"})
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate database DataBase"})
return
}
err = user.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate user DataBase"})
return
}
err = character.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigratec haracter DataBase"})
return
}
err = gsmaster.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate gsmaster DataBase"})
return
}
err = equipment.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate equipment DataBase"})
return
}
err = skills.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate skills DataBase"})
return
}
err = importer.MigrateStructure()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to automigrate importer DataBase"})
return
}
c.JSON(http.StatusOK, gin.H{"message": "Setup Check OK"})
}
func migrateStructure() error {
/*
err := database.DB.AutoMigrate(
&user.User{},
&character.Char{},
&character.Eigenschaft{},
&character.Lp{},
&character.Ap{},
&character.B{},
&character.Merkmale{},
&character.Erfahrungsschatz{},
&character.Bennies{},
&gsmaster.Skill{},
&gsmaster.WeaponSkill{},
&gsmaster.Spell{},
&gsmaster.Equipment{},
&gsmaster.Weapon{},
&gsmaster.Container{},
&gsmaster.Transportation{},
&gsmaster.Believe{},
&equipment.Ausruestung{},
&equipment.Waffe{},
&equipment.Behaeltniss{},
&equipment.Transportation{},
&skills.Fertigkeit{},
&skills.Waffenfertigkeit{},
&skills.Zauber{},
)
if err != nil {
return err
}
*/
err := database.MigrateStructure()
if err != nil {
return err
}
err = character.MigrateStructure()
if err != nil {
return err
}
err = user.MigrateStructure()
if err != nil {
return err
}
err = gsmaster.MigrateStructure()
if err != nil {
return err
}
err = equipment.MigrateStructure()
if err != nil {
return err
}
err = skills.MigrateStructure()
if err != nil {
return err
}
err = importer.MigrateStructure()
if err != nil {
return err
}
return nil
}
+27 -46
View File
@@ -2,8 +2,13 @@ package tests
import (
"bamort/character"
"bamort/maintenance"
"bamort/database"
"bamort/equipment"
"bamort/gsmaster"
"bamort/importer"
"bamort/router"
"bamort/skills"
"bamort/user"
"bytes"
"encoding/json"
"net/http"
@@ -35,52 +40,28 @@ type Character struct {
}
func TestSetupCheck(t *testing.T) {
//r := gin.Default()
c := gin.Context{}
maintenance.SetupCheck(&c)
assert.Empty(t, nil, "expected NIL to be empty")
/*
SetupTestDB()
TestCreateChar(t)
// Initialize a Gin router
r := gin.Default()
router.SetupGin(r)
// must be in sync with maintenance.SetupCheck(&c)
//maintenance.SetupCheck(&c)
db := database.ConnectDatabase()
assert.NotEqual(t, nil, db, "expected NIL to be empty")
if db == nil {
return
}
err := database.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating database tables ", err)
err = character.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating character tables ", err)
err = user.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating user tables ", err)
err = gsmaster.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating gsmaster tables ", err)
err = equipment.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating equipment tables ", err)
err = skills.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating skill tables ", err)
err = importer.MigrateStructure()
assert.NoError(t, nil, err, "No error expected when migrating importer tables ", err)
// Routes
protected := router.BaseRouterGrp(r)
// Character routes
rCharGrp := router.CharRouterGrp(protected)
rCharGrp.GET("/test", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"status": "Test OK"})
})
// Create a test HTTP request
req, _ := http.NewRequest("GET", "/api/characters", nil)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer ${token}")
// Create a response recorder to capture the handler's response
respRecorder := httptest.NewRecorder()
// Perform the test request
r.ServeHTTP(respRecorder, req)
// Assert the response status code
assert.Equal(t, http.StatusOK, respRecorder.Code)
// Assert the response body
var listOfCharacter []*character.CharList
err := json.Unmarshal(respRecorder.Body.Bytes(), &listOfCharacter)
assert.NoError(t, err)
assert.Equal(t, "Harsk Hammerhuter, Zen", listOfCharacter[0].Name)
assert.Equal(t, "Zwerg", listOfCharacter[0].Rasse)
assert.Equal(t, 1, int(listOfCharacter[0].ID)) // Check the simulated ID
assert.Equal(t, "Krieger", listOfCharacter[0].Typ)
assert.Equal(t, 3, listOfCharacter[0].Grad)
assert.Equal(t, "test", listOfCharacter[0].Owner)
assert.Equal(t, false, listOfCharacter[0].Public)
*/
}
func TestListCharacters(t *testing.T) {
SetupTestDB()
+16 -16
View File
@@ -234,7 +234,7 @@ func TestImportSkill2GSMaster(t *testing.T) {
assert.Equal(t, "check", skill.Bonuseigenschaft)
assert.Equal(t, "KOD5 99", skill.Quelle)
assert.Equal(t, false, skill.Improvable)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
//}
skill2 := gsmaster.Skill{}
erro = skill2.First("Hören")
@@ -253,7 +253,7 @@ func TestImportSkill2GSMaster(t *testing.T) {
assert.Equal(t, skill2.Bonuseigenschaft, skill3.Bonuseigenschaft)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Improvable, skill3.Improvable)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
err = importer.CheckFertigkeiten2GSMaster(character.Fertigkeiten)
assert.NoError(t, err, "Expected no error when checkimg Skills against gsmaster")
@@ -275,7 +275,7 @@ func TestImportWeaponSkill2GSMaster(t *testing.T) {
assert.Equal(t, "check", skill.Bonuseigenschaft)
assert.Equal(t, "KOD5 144", skill.Quelle)
assert.Equal(t, true, skill.Improvable)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
//}
skill2 := gsmaster.WeaponSkill{}
erro = skill2.First("Armbrüste")
@@ -294,7 +294,7 @@ func TestImportWeaponSkill2GSMaster(t *testing.T) {
assert.Equal(t, skill2.Bonuseigenschaft, skill3.Bonuseigenschaft)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Improvable, skill3.Improvable)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
err = importer.CheckWaffenFertigkeiten2GSMaster(character.Waffenfertigkeiten)
assert.NoError(t, err, "Expected no error when checkimg WeaponSkills against gsmaster")
@@ -310,7 +310,7 @@ func TestImportSpell2GSMaster(t *testing.T) {
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
assert.Equal(t, "Angst", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "ARK5 63", skill.Quelle)
@@ -330,7 +330,7 @@ func TestImportSpell2GSMaster(t *testing.T) {
assert.Equal(t, "Angst", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
@@ -353,7 +353,7 @@ func TestImportWeapon2GSMaster(t *testing.T) {
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
assert.Equal(t, "Armbrust:schwer", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
@@ -373,7 +373,7 @@ func TestImportWeapon2GSMaster(t *testing.T) {
assert.Equal(t, "Armbrust:schwer", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
@@ -396,7 +396,7 @@ func TestImportContainer2GSMaster(t *testing.T) {
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(container.ID), 1)
assert.Equal(t, "midgard", container.System)
assert.Equal(t, "midgard", container.GameSystem)
assert.Equal(t, "Lederrucksack", container.Name)
assert.Equal(t, "für 25 kg", container.Beschreibung)
assert.Equal(t, "", container.Quelle)
@@ -416,7 +416,7 @@ func TestImportContainer2GSMaster(t *testing.T) {
assert.Equal(t, "Lederrucksack", container3.Name)
assert.Equal(t, container2.ID, container3.ID)
assert.Equal(t, container2.System, container3.System)
assert.Equal(t, container2.GameSystem, container3.GameSystem)
assert.Equal(t, container2.Name, container3.Name)
assert.Equal(t, container2.Beschreibung, container3.Beschreibung)
assert.Equal(t, container2.Quelle, container3.Quelle)
@@ -439,7 +439,7 @@ func TestImportTransportation2GSMaster(t *testing.T) {
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
assert.Equal(t, "Karren", skill.Name)
assert.Equal(t, "für 250 kg", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
@@ -459,7 +459,7 @@ func TestImportTransportation2GSMaster(t *testing.T) {
assert.Equal(t, "Karren", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
@@ -482,7 +482,7 @@ func TestImportEquipment2GSMaster(t *testing.T) {
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
assert.Equal(t, "Lederrüstung", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
@@ -500,7 +500,7 @@ func TestImportEquipment2GSMaster(t *testing.T) {
assert.Equal(t, "Lederrüstung", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
@@ -520,7 +520,7 @@ func TestImportBelieve2GSMaster(t *testing.T) {
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
assert.Equal(t, "midgard", skill.System)
assert.Equal(t, "midgard", skill.GameSystem)
assert.Equal(t, "Torkin", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
@@ -536,7 +536,7 @@ func TestImportBelieve2GSMaster(t *testing.T) {
assert.Equal(t, "Torkin", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.System, skill3.System)
assert.Equal(t, skill2.GameSystem, skill3.GameSystem)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)