diff --git a/backend/character/handlers.go b/backend/character/handlers.go index 35ceac4..5171108 100644 --- a/backend/character/handlers.go +++ b/backend/character/handlers.go @@ -1773,7 +1773,7 @@ func getSpellLECost(level int) int { var spellLECost models.SpellLevelLECost // Query the database for the LE cost for this level - err := database.DB.Where("level = ? AND game_system = ?", level, "midgard").First(&spellLECost).Error + err := database.DB.Where("level = ? AND game_system_id = ?", level, 1).First(&spellLECost).Error if err != nil { // If not found in database, fall back to standard RPG costs spellLECosts := map[int]int{ @@ -3155,7 +3155,7 @@ func SearchBeliefs(c *gin.Context) { } // Get game system from query parameter, default to "midgard" - gameSystem := c.DefaultQuery("game_system", "") + gameSystem := c.DefaultQuery("game_system", "midgard") // Load beliefs from database believes, err := models.GetBelievesByActiveSources(gameSystem) diff --git a/backend/character/handlers_test.go b/backend/character/handlers_test.go index 50e927c..2e6611e 100644 --- a/backend/character/handlers_test.go +++ b/backend/character/handlers_test.go @@ -1138,7 +1138,6 @@ func TestSearchBeliefs(t *testing.T) { // Ensure game systems exist in the test DB // Ensure game system rows exist (use INSERT OR IGNORE to avoid unique constraint errors) database.DB.Exec("INSERT OR IGNORE INTO game_systems(code,name,description,is_active,created_at,modified_at) VALUES (?,?,?,?,strftime('%s','now'),strftime('%s','now'))", "M5", "M5", "", true) - //database.DB.Exec("INSERT OR IGNORE INTO game_systems(code,name,description,is_active,created_at,modified_at) VALUES (?,?,?,?,strftime('%s','now'),strftime('%s','now'))", "midgard", "midgard", "", true) // Create some test believes for midgard b1 := &models.Believe{GameSystemId: 1, Name: "TestFaithOne", SourceID: 1} @@ -1157,10 +1156,10 @@ func TestSearchBeliefs(t *testing.T) { expectHits int expectError bool }{ - //{name: "GameSystem midgard", q: "Test", gameSystem: "midgard", expectHits: 1, expectError: false}, - //{name: "GameSystem M5", q: "Test", gameSystem: "M5", expectHits: 2, expectError: false}, + {name: "GameSystemID 1", q: "Test", gameSystem: "M5", expectHits: 1, expectError: false}, + {name: "GameSystem M5", q: "Test", gameSystem: "M5", expectHits: 2, expectError: false}, {name: "GameSystem XYZ", q: "Test", gameSystem: "XYZ", expectHits: 0, expectError: true}, - //{name: "GameSystem not set (default)", q: "Test", gameSystem: "", expectHits: 0, expectError: false}, + {name: "GameSystem not set (default)", q: "Test", gameSystem: "M5", expectHits: 0, expectError: false}, } for _, tt := range tests { diff --git a/backend/gsmaster/export_import_test.go b/backend/gsmaster/export_import_test.go index f24aca5..e2154b8 100644 --- a/backend/gsmaster/export_import_test.go +++ b/backend/gsmaster/export_import_test.go @@ -88,7 +88,7 @@ func TestImportSkills(t *testing.T) { // Verify skill was imported var importedSkill models.Skill - err = database.DB.Where("name = ? AND game_system = ?", "TestImportSkill", "midgard").First(&importedSkill).Error + err = database.DB.Where("name = ? AND game_system_id = ?", "TestImportSkill", 1).First(&importedSkill).Error if err != nil { t.Fatalf("Imported skill not found: %v", err) } @@ -155,7 +155,7 @@ func TestImportSkillsUpdate(t *testing.T) { // Verify update var updatedSkill models.Skill - err = database.DB.Where("name = ? AND game_system = ?", "Reiten", "midgard").First(&updatedSkill).Error + err = database.DB.Where("name = ? AND game_system_id = ?", "Reiten", 1).First(&updatedSkill).Error if err != nil { t.Fatalf("Updated skill not found: %v", err) } @@ -304,7 +304,7 @@ func TestExportImportSkillCategories(t *testing.T) { // Verify the category was recreated var imported models.SkillCategory - result := database.DB.Where("name = ? AND game_system = ?", "TestCategory", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "TestCategory", 1).First(&imported) if result.Error != nil { t.Fatalf("Category not found after import: %v", result.Error) } @@ -410,7 +410,7 @@ func TestExportImportSpells(t *testing.T) { // Verify the spell was updated var imported models.Spell - result := database.DB.Where("name = ? AND game_system = ?", "TestSpell", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "TestSpell", 1).First(&imported) if result.Error != nil { t.Fatalf("Spell not found after import: %v", result.Error) } @@ -510,22 +510,22 @@ func TestExportImportAll(t *testing.T) { // Verify all data was recreated var importedCategory models.SkillCategory - if err := database.DB.Where("name = ? AND game_system = ?", "AllCategory", "midgard").First(&importedCategory).Error; err != nil { + if err := database.DB.Where("name = ? AND game_system_id = ?", "AllCategory", 1).First(&importedCategory).Error; err != nil { t.Errorf("Category not found after import: %v", err) } var importedDifficulty models.SkillDifficulty - if err := database.DB.Where("name = ? AND game_system = ?", "AllDifficulty", "midgard").First(&importedDifficulty).Error; err != nil { + if err := database.DB.Where("name = ? AND game_system_id = ?", "AllDifficulty", 1).First(&importedDifficulty).Error; err != nil { t.Errorf("Difficulty not found after import: %v", err) } var importedSkill models.Skill - if err := database.DB.Where("name = ? AND game_system = ?", "AllSkill", "midgard").First(&importedSkill).Error; err != nil { + if err := database.DB.Where("name = ? AND game_system_id = ?", "AllSkill", 1).First(&importedSkill).Error; err != nil { t.Errorf("Skill not found after import: %v", err) } var importedSpell models.Spell - if err := database.DB.Where("name = ? AND game_system = ?", "AllSpell", "midgard").First(&importedSpell).Error; err != nil { + if err := database.DB.Where("name = ? AND game_system_id = ?", "AllSpell", 1).First(&importedSpell).Error; err != nil { t.Errorf("Spell not found after import: %v", err) } } @@ -598,7 +598,7 @@ func TestExportImportWeaponSkills(t *testing.T) { } var imported models.WeaponSkill - result := database.DB.Where("name = ? AND game_system = ?", "Langschwert", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "Langschwert", 1).First(&imported) if result.Error != nil { t.Fatalf("Weapon skill not found after import: %v", result.Error) } @@ -646,7 +646,7 @@ func TestExportImportEquipment(t *testing.T) { } var imported models.Equipment - result := database.DB.Where("name = ? AND game_system = ?", "Seil", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "Seil", 1).First(&imported) if result.Error != nil { t.Fatalf("Equipment not found after import: %v", result.Error) } @@ -699,7 +699,7 @@ func TestExportImportWeapons(t *testing.T) { } var imported models.Weapon - result := database.DB.Where("name = ? AND game_system = ?", "Kurzschwert", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "Kurzschwert", 1).First(&imported) if result.Error != nil { t.Fatalf("Weapon not found after import: %v", result.Error) } @@ -749,7 +749,7 @@ func TestExportImportContainers(t *testing.T) { } var imported models.Container - result := database.DB.Where("name = ? AND game_system = ?", "Rucksack", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "Rucksack", 1).First(&imported) if result.Error != nil { t.Fatalf("Container not found after import: %v", result.Error) } @@ -801,7 +801,7 @@ func TestExportImportTransportation(t *testing.T) { } var imported models.Transportation - result := database.DB.Where("name = ? AND game_system = ?", "Pferdewagen", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "Pferdewagen", 1).First(&imported) if result.Error != nil { t.Fatalf("Transportation not found after import: %v", result.Error) } @@ -844,7 +844,7 @@ func TestExportImportBelieves(t *testing.T) { } var imported models.Believe - result := database.DB.Where("name = ? AND game_system = ?", "Kirche des Lichts", "midgard").First(&imported) + result := database.DB.Where("name = ? AND game_system_id = ?", "Kirche des Lichts", 1).First(&imported) if result.Error != nil { t.Fatalf("Believe not found after import: %v", result.Error) } diff --git a/backend/gsmaster/skill_enhanced_handlers_test.go b/backend/gsmaster/skill_enhanced_handlers_test.go index 517dfe0..1048647 100644 --- a/backend/gsmaster/skill_enhanced_handlers_test.go +++ b/backend/gsmaster/skill_enhanced_handlers_test.go @@ -37,7 +37,7 @@ func getOrCreateSource(code, name string) models.Source { // Helper function to get or create a category func getOrCreateCategory(name string, sourceID uint) models.SkillCategory { var category models.SkillCategory - if err := database.DB.Where("name = ? AND game_system = ?", name, "midgard").First(&category).Error; err != nil { + if err := database.DB.Where("name = ? AND game_system_id = ?", name, 1).First(&category).Error; err != nil { category = models.SkillCategory{ Name: name, GameSystemId: 1, @@ -51,7 +51,7 @@ func getOrCreateCategory(name string, sourceID uint) models.SkillCategory { // Helper function to get or create a difficulty func getOrCreateDifficulty(name string) models.SkillDifficulty { var difficulty models.SkillDifficulty - if err := database.DB.Where("name = ? AND game_system = ?", name, "midgard").First(&difficulty).Error; err != nil { + if err := database.DB.Where("name = ? AND game_system_id = ?", name, 1).First(&difficulty).Error; err != nil { difficulty = models.SkillDifficulty{ Name: name, GameSystemId: 1, @@ -70,7 +70,7 @@ func TestGetSkillWithCategories(t *testing.T) { skill := models.Skill{ Name: "TestSchwimmen", - GameSystemId: 1, + GameSystemId: 1, Initialwert: 12, Improvable: true, Bonuseigenschaft: "Gw", @@ -127,7 +127,7 @@ func TestGetSkillWithCategories_MultipleCategories(t *testing.T) { skill := models.Skill{ Name: "TestReiten", - GameSystemId: 1, + GameSystemId: 1, Initialwert: 5, Improvable: true, Bonuseigenschaft: "Gw", @@ -201,7 +201,7 @@ func TestUpdateSkillWithCategories(t *testing.T) { skill := models.Skill{ Name: "TestKlettern", - GameSystemId: 1, + GameSystemId: 1, Initialwert: 10, Improvable: true, Bonuseigenschaft: "Gw", @@ -230,7 +230,7 @@ func TestUpdateSkillWithCategories(t *testing.T) { Skill: models.Skill{ ID: skill.ID, Name: "TestKlettern", - GameSystemId: 1, + GameSystemId: 1, Initialwert: 12, // Changed Improvable: true, Bonuseigenschaft: "St", // Changed @@ -299,12 +299,12 @@ func TestUpdateSkillBooleanFields(t *testing.T) { // Create test data with improvable=true and innateskill=false source := getOrCreateSource("TSTBOOL", "TestBoolean") skill := models.Skill{ - Name: "TestBooleanSkill", + Name: "TestBooleanSkill", GameSystemId: 1, - Initialwert: 5, - Improvable: true, - InnateSkill: false, - SourceID: source.ID, + Initialwert: 5, + Improvable: true, + InnateSkill: false, + SourceID: source.ID, } database.DB.Create(&skill) @@ -324,13 +324,13 @@ func TestUpdateSkillBooleanFields(t *testing.T) { // Update to set improvable=false and innateskill=true updateReq := SkillUpdateRequest{ Skill: models.Skill{ - ID: skill.ID, - Name: "TestBooleanSkill", + ID: skill.ID, + Name: "TestBooleanSkill", GameSystemId: 1, - Initialwert: 5, - Improvable: false, // Change to false - InnateSkill: true, // Change to true - SourceID: source.ID, + Initialwert: 5, + Improvable: false, // Change to false + InnateSkill: true, // Change to true + SourceID: source.ID, }, CategoryDifficulties: []CategoryDifficultyPair{ { diff --git a/backend/maintenance/handlers_test.go b/backend/maintenance/handlers_test.go index 5e61946..fc42906 100644 --- a/backend/maintenance/handlers_test.go +++ b/backend/maintenance/handlers_test.go @@ -163,20 +163,21 @@ func TestImprovableFieldTransfer(t *testing.T) { // Insert test data with different Improvable values // Use raw SQL to avoid GORM applying default values testSkills := []struct { - ID uint - Name string - GameSystem string - Improvable bool - InnateSkill bool + ID uint + Name string + GameSystem string + GameSystemID uint + Improvable bool + InnateSkill bool }{ - {1, "Hören", "midgard", false, true}, - {2, "Alchimie", "midgard", true, false}, - {3, "Nachtsicht", "midgard", false, true}, + {1, "Hören", "midgard", 1, false, true}, + {2, "Alchimie", "midgard", 1, true, false}, + {3, "Nachtsicht", "midgard", 1, false, true}, } for _, skill := range testSkills { - err = sourceDB.Exec(`INSERT INTO gsm_skills (id, name, game_system, improvable, innate_skill, initialwert, basis_wert) VALUES (?, ?, ?, ?, ?, 5, 0)`, - skill.ID, skill.Name, skill.GameSystem, skill.Improvable, skill.InnateSkill).Error + err = sourceDB.Exec(`INSERT INTO gsm_skills (id, name, game_system, game_system_id, improvable, innate_skill, initialwert, basis_wert) VALUES (?, ?, ?, ?, ?, ?, 5, 0)`, + skill.ID, skill.Name, skill.GameSystem, skill.GameSystemID, skill.Improvable, skill.InnateSkill).Error require.NoError(t, err) }