From 60536eae86a4dcc59fb37cb8fb6f088d790761dd Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 29 Dec 2024 00:01:31 +0100 Subject: [PATCH] renames stammdaten structs to Lookup... --- backend/models/stammdaten.go | 79 ++++++++++------------- backend/stammdaten/importer.go | 35 ++++------ backend/tests/importJsontoDB_test.go | 22 +++---- backend/tests/saveCharacterToDB_test.go | 2 +- backend/tests/stammdaten_test.go | 86 ++++++++++++------------- 5 files changed, 101 insertions(+), 123 deletions(-) diff --git a/backend/models/stammdaten.go b/backend/models/stammdaten.go index 6e911ce..cee40f1 100644 --- a/backend/models/stammdaten.go +++ b/backend/models/stammdaten.go @@ -7,18 +7,7 @@ import ( "gorm.io/gorm" ) -/*type ImStammFertigkeit struct { - ID uint `gorm:"primaryKey" json:"id"` - System string `gorm:"index" json:"system"` - Name string `json:"name"` - Beschreibung string `json:"beschreibung"` - Initialkeitswert int `json:"initialwert"` - Bonuseigenschaft string `json:"bonuseigenschaft,omitempty"` - Quelle string `json:"quelle"` -} -*/ - -type ImStamm struct { +type LookupList struct { ID uint `gorm:"primaryKey" json:"id"` System string `gorm:"index" json:"system"` Name string `json:"name"` @@ -26,18 +15,18 @@ type ImStamm struct { Quelle string `json:"quelle"` } -type ImStammFertigkeit struct { - ImStamm +type LookupSkill struct { + LookupList Initialkeitswert int `json:"initialwert"` Bonuseigenschaft string `json:"bonuseigenschaft,omitempty"` } -type ImStammWaffenFertigkeit struct { - ImStammFertigkeit +type LookupWaeponSkill struct { + LookupSkill } -type ImStammZauber struct { - ImStamm +type LookupSpell struct { + LookupList Bonus int `json:"bonus"` Stufe int AP int @@ -45,23 +34,23 @@ type ImStammZauber struct { Wirkungsziel string } -type ImStammAusruestung struct { - ImStamm +type LookupEquipment struct { + LookupList Gewicht float64 `json:"gewicht"` Wert float64 `json:"wert"` } -type ImStammBehaeltniss struct { - ImStammAusruestung +type LookupContainer struct { + LookupEquipment Tragkraft float64 `json:"tragkraft"` Volumen float64 `json:"volumen"` } -type ImStammTransportation struct { - ImStammBehaeltniss +type LookupTransportation struct { + LookupContainer } -func (stamm *ImStamm) First(name string) error { +func (stamm *LookupList) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -71,13 +60,13 @@ func (stamm *ImStamm) First(name string) error { return nil } -func (stamm *ImStamm) Create() error { +func (stamm *LookupList) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Stammdaten: %w", err) + return fmt.Errorf("failed to save Lookup: %w", err) } return nil }) @@ -85,7 +74,7 @@ func (stamm *ImStamm) Create() error { return err } -func (stamm *ImStammFertigkeit) First(name string) error { +func (stamm *LookupSkill) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -95,13 +84,13 @@ func (stamm *ImStammFertigkeit) First(name string) error { return nil } -func (stamm *ImStammFertigkeit) Create() error { +func (stamm *LookupSkill) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Fertigkeit Stammdaten: %w", err) + return fmt.Errorf("failed to save LookupSkill: %w", err) } return nil }) @@ -109,7 +98,7 @@ func (stamm *ImStammFertigkeit) Create() error { return err } -func (stamm *ImStammWaffenFertigkeit) First(name string) error { +func (stamm *LookupWaeponSkill) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -119,13 +108,13 @@ func (stamm *ImStammWaffenFertigkeit) First(name string) error { return nil } -func (stamm *ImStammWaffenFertigkeit) Create() error { +func (stamm *LookupWaeponSkill) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Fertigkeit Stammdaten: %w", err) + return fmt.Errorf("failed to save LookupWaeponSkill: %w", err) } return nil }) @@ -133,7 +122,7 @@ func (stamm *ImStammWaffenFertigkeit) Create() error { return err } -func (stamm *ImStammZauber) First(name string) error { +func (stamm *LookupSpell) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -143,13 +132,13 @@ func (stamm *ImStammZauber) First(name string) error { return nil } -func (stamm *ImStammZauber) Create() error { +func (stamm *LookupSpell) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Zauber Stammdaten: %w", err) + return fmt.Errorf("failed to save LookupSpell: %w", err) } return nil }) @@ -157,7 +146,7 @@ func (stamm *ImStammZauber) Create() error { return err } -func (stamm *ImStammAusruestung) First(name string) error { +func (stamm *LookupEquipment) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -167,13 +156,13 @@ func (stamm *ImStammAusruestung) First(name string) error { return nil } -func (stamm *ImStammAusruestung) Create() error { +func (stamm *LookupEquipment) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Stammdaten: %w", err) + return fmt.Errorf("failed to save LookupEquipment: %w", err) } return nil }) @@ -181,7 +170,7 @@ func (stamm *ImStammAusruestung) Create() error { return err } -func (stamm *ImStammBehaeltniss) First(name string) error { +func (stamm *LookupContainer) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -191,20 +180,20 @@ func (stamm *ImStammBehaeltniss) First(name string) error { return nil } -func (stamm *ImStammBehaeltniss) Create() error { +func (stamm *LookupContainer) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Stammdaten: %w", err) + return fmt.Errorf("failed to save LookupContainer: %w", err) } return nil }) return err } -func (stamm *ImStammTransportation) First(name string) error { +func (stamm *LookupTransportation) First(name string) error { gameSystem := "midgard" err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error if err != nil { @@ -214,13 +203,13 @@ func (stamm *ImStammTransportation) First(name string) error { return nil } -func (stamm *ImStammTransportation) Create() error { +func (stamm *LookupTransportation) Create() error { gameSystem := "midgard" stamm.System = gameSystem err := database.DB.Transaction(func(tx *gorm.DB) error { // Save the main character record if err := tx.Create(&stamm).Error; err != nil { - return fmt.Errorf("failed to save Stammdaten: %w", err) + return fmt.Errorf("failed to save Lookup: %w", err) } return nil }) diff --git a/backend/stammdaten/importer.go b/backend/stammdaten/importer.go index bec907a..30ff14e 100644 --- a/backend/stammdaten/importer.go +++ b/backend/stammdaten/importer.go @@ -1,16 +1,12 @@ package stammdaten import ( - "bamort/database" "bamort/models" "fmt" - "strings" - - "gorm.io/gorm" ) -func CheckFertigkeit(fertigkeit *models.ImFertigkeit, autocreate bool) (*models.ImStammFertigkeit, error) { - stammF := models.ImStammFertigkeit{} +func CheckSkill(fertigkeit *models.ImFertigkeit, autocreate bool) (*models.LookupSkill, error) { + stammF := models.LookupSkill{} //err := database.DB.First(&stammF, "system=? AND name = ?", gameSystem, fertigkeit.Name).Error err := stammF.First(fertigkeit.Name) if err == nil { @@ -49,13 +45,11 @@ func CheckFertigkeit(fertigkeit *models.ImFertigkeit, autocreate bool) (*models. return &stammF, nil } -func CheckZauber(zauber *models.ImZauber, autocreate bool) (*models.ImStammZauber, error) { - stammF := models.ImStammZauber{} - gameSystem := "none" - if strings.HasPrefix(zauber.ID, "moam") { - gameSystem = "midgard" - } - err := database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error +func CheckSpell(zauber *models.ImZauber, autocreate bool) (*models.LookupSpell, error) { + stammF := models.LookupSpell{} + + //err := database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error + err := stammF.First(zauber.Name) if err == nil { // zauber found return &stammF, nil @@ -73,21 +67,16 @@ func CheckZauber(zauber *models.ImZauber, autocreate bool) (*models.ImStammZaube stammF.Quelle = zauber.Quelle //fmt.Println(stammF) - err = database.DB.Transaction(func(tx *gorm.DB) error { - // Save the main character record - if err := tx.Create(&stammF).Error; err != nil { - return fmt.Errorf("failed to save zauber Stammdaten: %w", err) - } - return nil - }) + err = stammF.Create() if err != nil { - // zauber found + // spell found return nil, err } - err = database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error + //err = database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error + err = stammF.First(zauber.Name) if err != nil { - // zauber found + // spell found return nil, err } return &stammF, nil diff --git a/backend/tests/importJsontoDB_test.go b/backend/tests/importJsontoDB_test.go index b69c58c..c0f7731 100644 --- a/backend/tests/importJsontoDB_test.go +++ b/backend/tests/importJsontoDB_test.go @@ -37,8 +37,8 @@ func initTestDB4Import() *gorm.DB { &models.ImMagisch{}, &models.ImCharacterImport{}, */ - &models.ImStammFertigkeit{}, //needed for stammdaten.CheckFertigkeit - &models.ImStammZauber{}, //needed for stammdaten.CheckZauber + &models.LookupSkill{}, //needed for stammdaten.CheckFertigkeit + &models.LookupSpell{}, //needed for stammdaten.CheckZauber ) return db } @@ -93,10 +93,10 @@ func TestImportFertigkeitenStammdatenSingle(t *testing.T) { //checke Fertigkeit auf vorhandensein in den Stammdaten fertigkeit := character.Fertigkeiten[1] - stammF, err := stammdaten.CheckFertigkeit(&fertigkeit, false) + stammF, err := stammdaten.CheckSkill(&fertigkeit, false) assert.Error(t, err, "expexted Error does not exist in Fertigkeit Stammdaten") if stammF == nil && err != nil { - stammF, err = stammdaten.CheckFertigkeit(&fertigkeit, true) + stammF, err = stammdaten.CheckSkill(&fertigkeit, true) } assert.NoError(t, err, "Expected to finds the Fertigkeit Stammdaten in the database") assert.Equal(t, fertigkeit.Name, stammF.Name) @@ -110,10 +110,10 @@ func TestImportFertigkeitenStammdatenSingle(t *testing.T) { // und noch mal //checke Fertigkeit auf vorhandensein in den Stammdaten //fertigkeit := character.Fertigkeiten[1] - stammF, err = stammdaten.CheckFertigkeit(&fertigkeit, false) + stammF, err = stammdaten.CheckSkill(&fertigkeit, false) assert.NoError(t, err, "expexted no Error exist in Fertigkeit Stammdaten") if stammF == nil && err != nil { - stammF, err = stammdaten.CheckFertigkeit(&fertigkeit, true) + stammF, err = stammdaten.CheckSkill(&fertigkeit, true) } assert.NoError(t, err, "Expected to finds the Fertigkeit Stammdaten in the database") assert.Equal(t, fertigkeit.Name, stammF.Name) @@ -142,7 +142,7 @@ func TestImportFertigkeitenStammdatenMulti(t *testing.T) { //for index, fertigkeit := range character.Fertigkeiten { for _, fertigkeit := range character.Fertigkeiten { fmt.Println(fertigkeit.Name) - stammF, err := stammdaten.CheckFertigkeit(&fertigkeit, true) + stammF, err := stammdaten.CheckSkill(&fertigkeit, true) assert.NoError(t, err, "Expected to finds the Fertigkeit Stammdaten in the database") assert.Equal(t, fertigkeit.Name, stammF.Name, "Name should be equal") if fertigkeit.Name != "Sprache" { @@ -174,10 +174,10 @@ func TestImportZauberStammdatenSingle(t *testing.T) { //checke zauber auf vorhandensein in den Stammdaten zauber := character.Zauber[0] - stammF, err := stammdaten.CheckZauber(&zauber, false) + stammF, err := stammdaten.CheckSpell(&zauber, false) assert.Error(t, err, "expexted Error does not exist in zauber Stammdaten") if stammF == nil && err != nil { - stammF, err = stammdaten.CheckZauber(&zauber, true) + stammF, err = stammdaten.CheckSpell(&zauber, true) } assert.NoError(t, err, "Expected to finds the zauber Stammdaten in the database") assert.Equal(t, zauber.Name, stammF.Name) @@ -193,10 +193,10 @@ func TestImportZauberStammdatenSingle(t *testing.T) { // und noch mal //checke zauber auf vorhandensein in den Stammdaten //zauber := character.zauberen[1] - stammF, err = stammdaten.CheckZauber(&zauber, false) + stammF, err = stammdaten.CheckSpell(&zauber, false) assert.NoError(t, err, "expexted no Error exist in zauber Stammdaten") if stammF == nil && err != nil { - stammF, err = stammdaten.CheckZauber(&zauber, true) + stammF, err = stammdaten.CheckSpell(&zauber, true) } assert.NoError(t, err, "Expected to finds the zauber Stammdaten in the database") assert.Equal(t, zauber.Name, stammF.Name) diff --git a/backend/tests/saveCharacterToDB_test.go b/backend/tests/saveCharacterToDB_test.go index 5163904..f3611f1 100644 --- a/backend/tests/saveCharacterToDB_test.go +++ b/backend/tests/saveCharacterToDB_test.go @@ -29,7 +29,7 @@ func initTestDB4Char() *gorm.DB { &models.MagischWaffe{}, &models.Waffe{}, &models.Waffenfertigkeit{}, - &models.ImStammFertigkeit{}, + &models.LookupSkill{}, ) return db } diff --git a/backend/tests/stammdaten_test.go b/backend/tests/stammdaten_test.go index 05b5b56..1446741 100644 --- a/backend/tests/stammdaten_test.go +++ b/backend/tests/stammdaten_test.go @@ -9,24 +9,24 @@ import ( "gorm.io/gorm" ) -func initTestDB4Stammdaten() *gorm.DB { +func initTestDB4Lookup() *gorm.DB { db := SetupTestDB() db.AutoMigrate( - &models.ImStammFertigkeit{}, //needed for stammdaten.CheckFertigkeit - &models.ImStammZauber{}, //needed for stammdaten.CheckZauber - &models.ImStammWaffenFertigkeit{}, //needed for stammdaten.CheckWaffenFertigkeit - &models.ImStammAusruestung{}, //needed for stammdaten.Check... - &models.ImStammBehaeltniss{}, //needed for stammdaten.Check... - &models.ImStammTransportation{}, //needed for stammdaten.Check... + &models.LookupSkill{}, //needed for stammdaten.CheckFertigkeit + &models.LookupSpell{}, //needed for stammdaten.CheckZauber + &models.LookupWaeponSkill{}, //needed for stammdaten.CheckWaffenFertigkeit + &models.LookupEquipment{}, //needed for stammdaten.Check... + &models.LookupContainer{}, //needed for stammdaten.Check... + &models.LookupTransportation{}, //needed for stammdaten.Check... ) return db } -func TestCreateStammdatenFertigkeiten(t *testing.T) { +func TestCreateLookupSkill(t *testing.T) { // Setup test database - testDB := initTestDB4Stammdaten() + testDB := initTestDB4Lookup() database.DB = testDB // Assign test DB to global DB - stamm := models.ImStammFertigkeit{} + stamm := models.LookupSkill{} stamm.System = "Midgard" stamm.Name = "Lesen" stamm.Beschreibung = "Lesen und Schreiben" @@ -39,10 +39,10 @@ func TestCreateStammdatenFertigkeiten(t *testing.T) { assert.Equal(t, "midgard", stamm.System) } -func TestFindStammdatenFertigkeiten(t *testing.T) { +func TestFindLookupSkill(t *testing.T) { // Setup test database - TestCreateStammdatenFertigkeiten(t) - stamm := models.ImStammFertigkeit{} + TestCreateLookupSkill(t) + stamm := models.LookupSkill{} stamm.Name = "Lesen" err := stamm.First("Lesen") @@ -52,11 +52,11 @@ func TestFindStammdatenFertigkeiten(t *testing.T) { assert.Equal(t, "In", stamm.Bonuseigenschaft) } -func TestCreateStammdatenWaffenFertigkeiten(t *testing.T) { +func TestCreateLookupWaeponSkill(t *testing.T) { // Setup test database - testDB := initTestDB4Stammdaten() + testDB := initTestDB4Lookup() database.DB = testDB // Assign test DB to global DB - stamm := models.ImStammWaffenFertigkeit{} + stamm := models.LookupWaeponSkill{} stamm.System = "Midgard" stamm.Name = "Stichwaffen" stamm.Beschreibung = "Für Dolche und Ochsenzungen" @@ -69,10 +69,10 @@ func TestCreateStammdatenWaffenFertigkeiten(t *testing.T) { assert.Equal(t, "midgard", stamm.System) } -func TestFindStammdatenWaffenFertigkeiten(t *testing.T) { +func TestFindLookupWaeponSkill(t *testing.T) { // Setup test database - TestCreateStammdatenWaffenFertigkeiten(t) - stamm := models.ImStammWaffenFertigkeit{} + TestCreateLookupWaeponSkill(t) + stamm := models.LookupWaeponSkill{} stamm.Name = "Lesen" err := stamm.First("Stichwaffen") @@ -84,11 +84,11 @@ func TestFindStammdatenWaffenFertigkeiten(t *testing.T) { assert.Equal(t, "Gs", stamm.Bonuseigenschaft) } -func TestCreateStammdatenZauber(t *testing.T) { +func TestCreateLookupSpell(t *testing.T) { // Setup test database - testDB := initTestDB4Stammdaten() + testDB := initTestDB4Lookup() database.DB = testDB // Assign test DB to global DB - stamm := models.ImStammZauber{} + stamm := models.LookupSpell{} stamm.System = "Midgard" stamm.Name = "Unsichtbarkeit" stamm.Beschreibung = "werde unsichtbar" @@ -107,10 +107,10 @@ func TestCreateStammdatenZauber(t *testing.T) { assert.Equal(t, 1, stamm.Stufe) } -func TestFindStammdatenZauber(t *testing.T) { +func TestFindLookupSpell(t *testing.T) { // Setup test database - TestCreateStammdatenZauber(t) - stamm := models.ImStammZauber{} + TestCreateLookupSpell(t) + stamm := models.LookupSpell{} stamm.Name = "lesen" err := stamm.First("Unsichtbarkeit") @@ -125,11 +125,11 @@ func TestFindStammdatenZauber(t *testing.T) { assert.Equal(t, 0, stamm.Bonus) } -func TestCreateStammdatenAusruestung(t *testing.T) { +func TestCreateLookupEquipment(t *testing.T) { // Setup test database - testDB := initTestDB4Stammdaten() + testDB := initTestDB4Lookup() database.DB = testDB // Assign test DB to global DB - stamm := models.ImStammAusruestung{} + stamm := models.LookupEquipment{} stamm.System = "Midgard" stamm.Name = "Decke" stamm.Beschreibung = "zum zudecken" @@ -142,10 +142,10 @@ func TestCreateStammdatenAusruestung(t *testing.T) { assert.Equal(t, "midgard", stamm.System) } -func TestFindStammdatenAusruestung(t *testing.T) { +func TestFindLookupEquipment(t *testing.T) { // Setup test database - TestCreateStammdatenAusruestung(t) - stamm := models.ImStammAusruestung{} + TestCreateLookupEquipment(t) + stamm := models.LookupEquipment{} stamm.Name = "Lesen" err := stamm.First("Decke") @@ -155,11 +155,11 @@ func TestFindStammdatenAusruestung(t *testing.T) { assert.Equal(t, 0.2, stamm.Gewicht) } -func TestCreateStammdatenBehaeltniss(t *testing.T) { +func TestCreateLookupContainer(t *testing.T) { // Setup test database - testDB := initTestDB4Stammdaten() + testDB := initTestDB4Lookup() database.DB = testDB // Assign test DB to global DB - stamm := models.ImStammBehaeltniss{} + stamm := models.LookupContainer{} stamm.System = "Midgard" stamm.Name = "Topf" stamm.Beschreibung = "zum kochen" @@ -173,10 +173,10 @@ func TestCreateStammdatenBehaeltniss(t *testing.T) { assert.Equal(t, "midgard", stamm.System) } -func TestFindStammdatenBehaeltniss(t *testing.T) { +func TestFindLookupContainer(t *testing.T) { // Setup test database - TestCreateStammdatenBehaeltniss(t) - stamm := models.ImStammBehaeltniss{} + TestCreateLookupContainer(t) + stamm := models.LookupContainer{} stamm.Name = "Lesen" err := stamm.First("Topf") @@ -187,11 +187,11 @@ func TestFindStammdatenBehaeltniss(t *testing.T) { assert.Equal(t, 12.2, stamm.Volumen) } -func TestCreateStammdatenTransportation(t *testing.T) { +func TestCreateLookupTransportation(t *testing.T) { // Setup test database - testDB := initTestDB4Stammdaten() + testDB := initTestDB4Lookup() database.DB = testDB // Assign test DB to global DB - stamm := models.ImStammTransportation{} + stamm := models.LookupTransportation{} stamm.System = "Midgard" stamm.Name = "Topf" stamm.Beschreibung = "zum kochen" @@ -205,10 +205,10 @@ func TestCreateStammdatenTransportation(t *testing.T) { assert.Equal(t, "midgard", stamm.System) } -func TestFindStammdatenTransportation(t *testing.T) { +func TestFindLookupTransportation(t *testing.T) { // Setup test database - TestCreateStammdatenTransportation(t) - stamm := models.ImStammTransportation{} + TestCreateLookupTransportation(t) + stamm := models.LookupTransportation{} stamm.Name = "Lesen" err := stamm.First("Topf")