Files
bamort/backend/bmrt/importer/importJSON2ImportStruct_test.go
T

544 lines
21 KiB
Go
Raw Normal View History

2025-07-24 07:39:43 +02:00
package importer
2024-12-24 23:38:53 +01:00
import (
2025-07-24 07:39:43 +02:00
"bamort/database"
2026-05-01 18:15:31 +02:00
"bamort/bmrt/models"
2024-12-24 23:38:53 +01:00
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
2025-07-24 07:39:43 +02:00
func testChar(t *testing.T, object *CharacterImport) {
2025-01-01 18:19:26 +01:00
assert.Equal(t, "moam-character-41421", object.ID)
2025-01-01 17:27:39 +01:00
assert.Equal(t, "Harsk Hammerhuter, Zen", object.Name)
assert.Equal(t, "Zwerg", object.Rasse)
2025-01-01 18:19:26 +01:00
assert.Equal(t, "Krieger", object.Typ)
assert.Equal(t, 39, object.Alter)
assert.Equal(t, "er", object.Anrede)
assert.Equal(t, 3, object.Grad)
assert.Equal(t, 140, object.Groesse)
assert.Equal(t, 82, object.Gewicht)
assert.Equal(t, "Torkin", object.Glaube)
assert.Equal(t, "rechts", object.Hand)
assert.Equal(t, 17, object.Lp.Max)
2025-01-01 17:27:39 +01:00
assert.Equal(t, 17, object.Lp.Value)
2025-01-01 18:19:26 +01:00
assert.Equal(t, 31, object.Ap.Max)
assert.Equal(t, 31, object.Ap.Value)
assert.Equal(t, 18, object.B.Max)
assert.Equal(t, 0, object.B.Value)
2025-01-01 17:27:39 +01:00
assert.Equal(t, 74, object.Eigenschaften.Au)
2025-01-01 18:19:26 +01:00
assert.Equal(t, 96, object.Eigenschaften.Gs)
assert.Equal(t, 70, object.Eigenschaften.Gw)
assert.Equal(t, 65, object.Eigenschaften.In)
assert.Equal(t, 85, object.Eigenschaften.Ko)
assert.Equal(t, 75, object.Eigenschaften.Pa)
assert.Equal(t, 95, object.Eigenschaften.St)
assert.Equal(t, 71, object.Eigenschaften.Wk)
assert.Equal(t, 35, object.Eigenschaften.Zt)
2025-01-01 17:27:39 +01:00
assert.Equal(t, "blau", object.Merkmale.Augenfarbe)
2025-01-01 18:19:26 +01:00
assert.Equal(t, "sandfarben", object.Merkmale.Haarfarbe)
assert.Equal(t, "", object.Merkmale.Sonstige)
assert.Equal(t, 0, object.Bennies.Gg)
assert.Equal(t, 1, object.Bennies.Sg)
assert.Equal(t, 0, object.Bennies.Gp)
assert.Equal(t, "breit", object.Gestalt.Breite)
assert.Equal(t, "klein", object.Gestalt.Groesse)
assert.Equal(t, 325, object.Erfahrungsschatz.Value)
2025-01-01 17:27:39 +01:00
assert.Equal(t, 3, len(object.Spezialisierung))
assert.Equal(t, "Kriegshammer", object.Spezialisierung[0])
assert.Equal(t, "Armbrust:schwer", object.Spezialisierung[1])
2025-01-01 18:19:26 +01:00
assert.Equal(t, "Stielhammer", object.Spezialisierung[2])
assert.Contains(t, object.Image, "data:image;base64,")
2025-01-01 17:27:39 +01:00
}
2025-07-24 07:39:43 +02:00
func testSkill(t *testing.T, objects []Fertigkeit) {
2025-01-01 17:27:39 +01:00
assert.Equal(t, 19, len(objects))
2025-01-01 18:19:26 +01:00
i := 0
assert.Equal(t, "moam-ability-horen", objects[i].ID)
assert.Equal(t, "Hören", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 6, objects[i].Fertigkeitswert)
assert.Equal(t, 0, objects[i].Bonus)
assert.Equal(t, 0, objects[i].Pp)
assert.Equal(t, "KOD5 99", objects[i].Quelle)
i = 6
assert.Equal(t, "moam-ability-759918", objects[i].ID)
assert.Equal(t, "Athletik", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 9, objects[i].Fertigkeitswert)
assert.Equal(t, 0, objects[i].Bonus)
assert.Equal(t, 0, objects[i].Pp)
assert.Equal(t, "KOD5 104", objects[i].Quelle)
i = 16
assert.Equal(t, "moam-ability-759920", objects[i].ID)
assert.Equal(t, "Sprache", objects[i].Name)
assert.Equal(t, "Albisch", objects[i].Beschreibung)
assert.Equal(t, 8, objects[i].Fertigkeitswert)
assert.Equal(t, 0, objects[i].Bonus)
assert.Equal(t, 0, objects[i].Pp)
assert.Equal(t, "KOD5 127", objects[i].Quelle)
2025-01-01 17:27:39 +01:00
}
2025-01-01 18:19:26 +01:00
2025-07-24 07:39:43 +02:00
func testWeaponSkill(t *testing.T, objects []Waffenfertigkeit) {
2025-01-01 17:27:39 +01:00
assert.Equal(t, 8, len(objects))
2025-01-01 18:19:26 +01:00
i := 0
assert.Equal(t, "moam-ability-759916", objects[i].ID)
assert.Equal(t, "Armbrüste", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 8, objects[i].Fertigkeitswert)
assert.Equal(t, 0, objects[i].Bonus)
assert.Equal(t, 0, objects[i].Pp)
assert.Equal(t, "KOD5 144", objects[i].Quelle)
i = 2
assert.Equal(t, "moam-ability-759912", objects[i].ID)
assert.Equal(t, "Schilde", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 3, objects[i].Fertigkeitswert)
assert.Equal(t, 0, objects[i].Bonus)
assert.Equal(t, 0, objects[i].Pp)
assert.Equal(t, "KOD5 145", objects[i].Quelle)
2025-01-01 17:27:39 +01:00
}
2025-07-24 07:39:43 +02:00
func testSpell(t *testing.T, objects []Zauber) {
2025-01-01 17:27:39 +01:00
assert.Equal(t, 1, len(objects))
2025-01-01 18:19:26 +01:00
i := 0
assert.Equal(t, "moam-spell-134630", objects[i].ID)
assert.Equal(t, "Angst", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 0, objects[i].Bonus)
assert.Equal(t, "ARK5 63", objects[i].Quelle)
2025-01-01 17:27:39 +01:00
}
2025-07-24 07:39:43 +02:00
func testWeapon(t *testing.T, objects []Waffe) {
2025-01-01 17:27:39 +01:00
assert.Equal(t, 1, len(objects))
2025-01-01 18:19:26 +01:00
i := 0
assert.Equal(t, "moam-weapon-126819", objects[i].ID)
assert.Equal(t, "Armbrust:schwer", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 0, objects[i].Abwb)
assert.Equal(t, 0, objects[i].Anb)
assert.Equal(t, 1, objects[i].Anzahl)
assert.Equal(t, "moam-container-47363", objects[i].BeinhaltetIn)
assert.Equal(t, 5.0, objects[i].Gewicht)
assert.Equal(t, false, objects[i].Magisch.IstMagisch)
assert.Equal(t, 0, objects[i].Magisch.Abw)
assert.Equal(t, false, objects[i].Magisch.Ausgebrannt)
assert.Equal(t, "Armbrust:schwer", objects[i].NameFuerSpezialisierung)
assert.Equal(t, 0, objects[i].Schb)
assert.Equal(t, 40.0, objects[i].Wert)
2025-01-01 17:27:39 +01:00
}
2025-07-24 07:39:43 +02:00
func testEquipment(t *testing.T, objects []Ausruestung) {
2025-01-01 18:34:31 +01:00
assert.Equal(t, 1, len(objects))
i := 0
assert.Equal(t, "moam-armor-48616", objects[i].ID)
assert.Equal(t, "Lederrüstung", objects[i].Name)
assert.Equal(t, "", objects[i].Beschreibung)
assert.Equal(t, 1, objects[i].Anzahl)
assert.Equal(t, "", objects[i].BeinhaltetIn)
assert.Equal(t, 13.0, objects[i].Gewicht)
assert.Equal(t, "", objects[i].BeinhaltetIn)
assert.Equal(t, false, objects[i].Magisch.IstMagisch)
assert.Equal(t, 0, objects[i].Magisch.Abw)
assert.Equal(t, false, objects[i].Magisch.Ausgebrannt)
assert.Equal(t, 30.0, objects[i].Wert)
assert.Equal(t, 0, objects[i].Bonus)
}
2025-07-24 07:39:43 +02:00
func testContainer(t *testing.T, objects []Behaeltniss) {
2025-01-01 17:27:39 +01:00
assert.Equal(t, 1, len(objects))
2025-01-01 18:19:26 +01:00
i := 0
2025-01-01 18:34:31 +01:00
assert.Equal(t, "moam-container-47363", objects[i].ID)
2025-01-01 18:19:26 +01:00
assert.Equal(t, "Lederrucksack", objects[i].Name)
2025-01-01 18:34:31 +01:00
assert.Equal(t, "für 25 kg", objects[i].Beschreibung)
assert.Equal(t, 4.0, objects[i].Wert)
assert.Equal(t, 0.50, objects[i].Gewicht)
assert.Equal(t, 25.0, objects[i].Volumen)
assert.Equal(t, 25.0, objects[i].Tragkraft)
assert.Empty(t, "", objects[i].BeinhaltetIn) //Value in json is null
assert.Equal(t, false, objects[i].Magisch.IstMagisch)
assert.Equal(t, 0, objects[i].Magisch.Abw)
assert.Equal(t, false, objects[i].Magisch.Ausgebrannt)
2025-01-01 17:27:39 +01:00
}
2025-07-24 07:39:43 +02:00
func testTransportation(t *testing.T, objects []Transportation) {
2025-01-01 17:27:39 +01:00
assert.Equal(t, 1, len(objects))
2025-01-01 18:34:31 +01:00
i := 0
assert.Equal(t, "moam-container-47000", objects[i].ID)
assert.Equal(t, "Karren", objects[i].Name)
assert.Equal(t, "für 250 kg", objects[i].Beschreibung)
assert.Equal(t, 14.0, objects[i].Wert)
assert.Equal(t, 40, objects[i].Gewicht)
assert.Equal(t, 250.0, objects[i].Tragkraft)
assert.Empty(t, "", objects[i].BeinhaltetIn) //Value in json is null
assert.Equal(t, false, objects[i].Magisch.IstMagisch)
assert.Equal(t, 0, objects[i].Magisch.Abw)
assert.Equal(t, false, objects[i].Magisch.Ausgebrannt)
2025-01-01 17:27:39 +01:00
}
2025-01-01 16:58:02 +01:00
func TestImportVTTStructure(t *testing.T) {
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
character, err := readImportChar(fileName)
2024-12-24 23:38:53 +01:00
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
2025-01-01 17:27:39 +01:00
testChar(t, character)
testSkill(t, character.Fertigkeiten)
2025-01-01 21:58:39 +01:00
testWeaponSkill(t, character.Waffenfertigkeiten)
2025-01-01 17:27:39 +01:00
testSpell(t, character.Zauber)
testEquipment(t, character.Ausruestung)
2025-01-01 21:58:39 +01:00
testWeapon(t, character.Waffen)
2025-01-01 17:27:39 +01:00
testContainer(t, character.Behaeltnisse)
testTransportation(t, character.Transportmittel)
2024-12-25 08:27:47 +01:00
//fmt.Println(character)
2024-12-24 23:38:53 +01:00
}
2024-12-25 19:52:56 +01:00
func TestImportSkill2GSMaster(t *testing.T) {
2025-01-02 22:48:56 +01:00
2025-10-03 22:07:14 +02:00
database.SetupTestDB(true)
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2025-01-02 22:48:56 +01:00
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
2025-01-01 21:58:39 +01:00
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportFertigkeit2GSDMaster(&character.Fertigkeiten[0])
2025-01-01 21:58:39 +01:00
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
2025-10-03 22:07:14 +02:00
assert.GreaterOrEqual(t, int(skill.ID), 11)
2025-01-01 21:58:39 +01:00
assert.Equal(t, "Hören", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
2025-01-18 20:59:35 +01:00
assert.Equal(t, 6, skill.Initialwert)
2025-01-01 21:58:39 +01:00
assert.Equal(t, "check", skill.Bonuseigenschaft)
assert.Equal(t, "KOD5 99", skill.Quelle)
assert.Equal(t, false, skill.Improvable)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
2025-01-01 21:58:39 +01:00
//}
2025-07-27 23:13:04 +02:00
skill2 := models.Skill{}
2025-01-01 21:58:39 +01:00
erro = skill2.First("Hören")
assert.NoError(t, erro, "Expected no error when finding Record by name")
2025-10-03 22:07:14 +02:00
assert.Equal(t, 11, int(skill.ID))
2025-01-01 21:58:39 +01:00
2025-07-27 23:13:04 +02:00
skill3 := models.Skill{}
2025-10-03 22:07:14 +02:00
erro = skill3.FirstId(11)
2025-01-01 21:58:39 +01:00
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Hören", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
2025-01-18 20:59:35 +01:00
assert.Equal(t, skill2.Initialwert, skill3.Initialwert)
2025-01-01 21:58:39 +01:00
assert.Equal(t, skill2.Bonuseigenschaft, skill3.Bonuseigenschaft)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Improvable, skill3.Improvable)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
2025-07-24 07:39:43 +02:00
err = CheckFertigkeiten2GSMaster(character.Fertigkeiten)
assert.NoError(t, err, "Expected no error when checkimg Skills against gsmaster")
2025-01-01 21:58:39 +01:00
}
func TestImportWeaponSkill2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2025-12-29 17:39:06 +01:00
defer database.ResetTestDB()
// Clear weapon skills to test actual import, not pre-existing data
database.DB.Exec("DELETE FROM gsm_weaponskills")
database.DB.Exec("DELETE FROM sqlite_sequence WHERE name='gsm_weaponskills'")
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
2025-01-01 21:58:39 +01:00
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportWaffenFertigkeit2GSDMaster(&character.Waffenfertigkeiten[0])
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
assert.Equal(t, "Armbrüste", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
2025-10-03 22:07:14 +02:00
assert.Equal(t, 5, skill.Initialwert)
assert.Equal(t, "check", skill.Bonuseigenschaft)
assert.Equal(t, "KOD5 144", skill.Quelle)
assert.Equal(t, true, skill.Improvable)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
//}
2025-07-27 23:36:47 +02:00
skill2 := models.WeaponSkill{}
erro = skill2.First("Armbrüste")
assert.NoError(t, erro, "Expected no error when finding Record by name")
assert.Equal(t, 1, int(skill.ID))
2025-07-27 23:36:47 +02:00
skill3 := models.WeaponSkill{}
erro = skill3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Armbrüste", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
2025-01-18 20:59:35 +01:00
assert.Equal(t, skill2.Initialwert, skill3.Initialwert)
assert.Equal(t, skill2.Bonuseigenschaft, skill3.Bonuseigenschaft)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Improvable, skill3.Improvable)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
2025-07-24 07:39:43 +02:00
err = CheckWaffenFertigkeiten2GSMaster(character.Waffenfertigkeiten)
assert.NoError(t, err, "Expected no error when checkimg WeaponSkills against gsmaster")
}
func TestImportSpell2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportSpell2GSDMaster(&character.Zauber[0])
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
assert.Equal(t, "Angst", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "ARK", skill.Quelle)
2025-10-03 22:07:14 +02:00
assert.Equal(t, 2, skill.Stufe)
assert.Equal(t, "2 je Wesen", skill.AP)
assert.Equal(t, "Geist", skill.Wirkungsziel)
assert.Equal(t, "30 m", skill.Reichweite)
//}
2025-07-27 23:50:19 +02:00
skill2 := models.Spell{}
erro = skill2.First("Angst")
assert.NoError(t, erro, "Expected no error when finding Record by name")
assert.Equal(t, 1, int(skill.ID))
2025-07-27 23:50:19 +02:00
skill3 := models.Spell{}
erro = skill3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Angst", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Stufe, skill3.Stufe)
assert.Equal(t, skill2.AP, skill3.AP)
assert.Equal(t, skill2.Reichweite, skill3.Reichweite)
assert.Equal(t, skill2.Wirkungsziel, skill3.Wirkungsziel)
2025-07-24 07:39:43 +02:00
err = CheckSpells2GSMaster(character.Zauber)
assert.NoError(t, err, "Expected no error when checkimg Spells against gsmaster")
}
func TestImportWeapon2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2025-12-29 17:39:06 +01:00
defer database.ResetTestDB()
// Clear weapons to test actual import, not pre-existing data
database.DB.Exec("DELETE FROM gsm_weapons")
database.DB.Exec("DELETE FROM sqlite_sequence WHERE name='gsm_weapons'")
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportWeapon2GSDMaster(&character.Waffen[0])
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
assert.Equal(t, "Armbrust:schwer", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
assert.Equal(t, 5.0, skill.Gewicht)
assert.Equal(t, 40.0, skill.Wert)
assert.Equal(t, "check", skill.SkillRequired)
assert.Equal(t, "check", skill.Damage)
//}
2025-07-28 18:56:45 +02:00
skill2 := models.Weapon{}
erro = skill2.First("Armbrust:schwer")
assert.NoError(t, erro, "Expected no error when finding Record by name")
assert.Equal(t, 1, int(skill.ID))
2025-07-28 18:56:45 +02:00
skill3 := models.Weapon{}
erro = skill3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Armbrust:schwer", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Gewicht, skill3.Gewicht)
assert.Equal(t, skill2.Wert, skill3.Wert)
assert.Equal(t, skill2.SkillRequired, skill3.SkillRequired)
assert.Equal(t, skill2.Damage, skill3.Damage)
2025-07-24 07:39:43 +02:00
err = CheckWeapons2GSMaster(character.Waffen)
assert.NoError(t, err, "Expected no error when checkimg Weapons against gsmaster")
}
func TestImportContainer2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
container, erro := TransformImportContainer2GSDMaster(&character.Behaeltnisse[0])
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
2025-01-18 20:59:54 +01:00
assert.GreaterOrEqual(t, int(container.ID), 1)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, container.GameSystemId)
2025-01-18 20:59:54 +01:00
assert.Equal(t, "Lederrucksack", container.Name)
assert.Equal(t, "für 25 kg", container.Beschreibung)
assert.Equal(t, "", container.Quelle)
assert.Equal(t, 0.5, container.Gewicht)
assert.Equal(t, 4.0, container.Wert)
assert.Equal(t, 25.0, container.Volumen)
assert.Equal(t, 25.0, container.Tragkraft)
//}
2025-07-28 18:56:56 +02:00
container2 := models.Container{}
2025-01-18 20:59:54 +01:00
erro = container2.First("Lederrucksack")
assert.NoError(t, erro, "Expected no error when finding Record by name")
2025-01-18 20:59:54 +01:00
assert.Equal(t, 1, int(container.ID))
2025-07-28 18:56:56 +02:00
container3 := models.Container{}
2025-01-18 20:59:54 +01:00
erro = container3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
2025-01-18 20:59:54 +01:00
assert.Equal(t, "Lederrucksack", container3.Name)
assert.Equal(t, container2.ID, container3.ID)
2026-01-29 09:49:36 +01:00
assert.Equal(t, container2.GameSystemId, container3.GameSystemId)
2025-01-18 20:59:54 +01:00
assert.Equal(t, container2.Name, container3.Name)
assert.Equal(t, container2.Beschreibung, container3.Beschreibung)
assert.Equal(t, container2.Quelle, container3.Quelle)
assert.Equal(t, container2.Gewicht, container3.Gewicht)
assert.Equal(t, container2.Wert, container3.Wert)
assert.Equal(t, container2.Volumen, container3.Volumen)
assert.Equal(t, container2.Tragkraft, container3.Tragkraft)
2025-07-24 07:39:43 +02:00
err = CheckContainers2GSMaster(character.Behaeltnisse)
assert.NoError(t, err, "Expected no error when checkimg Containers against gsmaster")
}
2025-01-02 07:44:43 +01:00
func TestImportTransportation2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
2025-01-02 07:44:43 +01:00
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportTransportation2GSDMaster(&character.Transportmittel[0])
2025-01-02 07:44:43 +01:00
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
assert.Equal(t, "Karren", skill.Name)
assert.Equal(t, "für 250 kg", skill.Beschreibung)
2025-01-02 07:44:43 +01:00
assert.Equal(t, "", skill.Quelle)
assert.Equal(t, 40.0, skill.Gewicht)
assert.Equal(t, 14.0, skill.Wert)
2025-01-02 07:44:43 +01:00
assert.Equal(t, 0.0, skill.Volumen)
assert.Equal(t, 250.0, skill.Tragkraft)
2025-01-02 07:44:43 +01:00
//}
2025-07-28 18:56:56 +02:00
skill2 := models.Transportation{}
erro = skill2.First("Karren")
2025-01-02 07:44:43 +01:00
assert.NoError(t, erro, "Expected no error when finding Record by name")
assert.Equal(t, 1, int(skill.ID))
2025-07-28 18:56:56 +02:00
skill3 := models.Transportation{}
2025-01-02 07:44:43 +01:00
erro = skill3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Karren", skill3.Name)
2025-01-02 07:44:43 +01:00
assert.Equal(t, skill2.ID, skill3.ID)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
2025-01-02 07:44:43 +01:00
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Gewicht, skill3.Gewicht)
assert.Equal(t, skill2.Wert, skill3.Wert)
assert.Equal(t, skill2.Volumen, skill3.Volumen)
assert.Equal(t, skill2.Tragkraft, skill3.Tragkraft)
2025-07-24 07:39:43 +02:00
err = CheckTransportations2GSMaster(character.Transportmittel)
assert.NoError(t, err, "Expected no error when checkimg Transüportations against gsmaster")
2025-01-02 07:44:43 +01:00
}
func TestImportEquipment2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
2025-01-02 07:44:43 +01:00
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportEquipment2GSDMaster(&character.Ausruestung[0])
2025-01-02 07:44:43 +01:00
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
2025-01-02 07:44:43 +01:00
assert.Equal(t, "Lederrüstung", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
assert.Equal(t, 13.0, skill.Gewicht)
assert.Equal(t, 30.0, skill.Wert)
//}
2025-07-28 18:56:45 +02:00
skill2 := models.Equipment{}
2025-01-02 07:44:43 +01:00
erro = skill2.First("Lederrüstung")
assert.NoError(t, erro, "Expected no error when finding Record by name")
assert.Equal(t, 1, int(skill.ID))
2025-07-28 18:56:45 +02:00
skill3 := models.Equipment{}
2025-01-02 07:44:43 +01:00
erro = skill3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Lederrüstung", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
2025-01-02 07:44:43 +01:00
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
assert.Equal(t, skill2.Gewicht, skill3.Gewicht)
assert.Equal(t, skill2.Wert, skill3.Wert)
2025-07-24 07:39:43 +02:00
err = CheckEquipments2GSMaster(character.Ausruestung)
assert.NoError(t, err, "Expected no error when checkimg Transüportations against gsmaster")
2025-01-02 07:44:43 +01:00
}
2025-01-02 15:57:35 +01:00
func TestImportBelieve2GSMaster(t *testing.T) {
2025-07-24 07:39:43 +02:00
database.SetupTestDB()
2026-01-29 09:49:36 +01:00
gs := defaultGameSystem(t)
2026-05-01 18:15:31 +02:00
fileName := fmt.Sprintf("../../testdata/%s", "VTT_Import1.json")
2025-01-02 15:57:35 +01:00
character, err := readImportChar(fileName)
assert.NoError(t, err, "Expected no error when Unmarshal filecontent")
//for i := range character.Fertigkeiten {
2025-07-24 07:39:43 +02:00
skill, erro := TransformImportBelieve2GSDMaster(character.Glaube)
2025-01-02 15:57:35 +01:00
assert.NoError(t, erro, "Expected no error when Unmarshal filecontent")
assert.GreaterOrEqual(t, int(skill.ID), 1)
2026-01-29 09:49:36 +01:00
assert.Equal(t, gs.ID, skill.GameSystemId)
2025-01-02 15:57:35 +01:00
assert.Equal(t, "Torkin", skill.Name)
assert.Equal(t, "", skill.Beschreibung)
assert.Equal(t, "", skill.Quelle)
//}
skill2 := models.Believe{}
2025-01-02 15:57:35 +01:00
erro = skill2.First("Torkin")
assert.NoError(t, erro, "Expected no error when finding Record by name")
assert.Equal(t, 1, int(skill.ID))
skill3 := models.Believe{}
2025-01-02 15:57:35 +01:00
erro = skill3.FirstId(1)
assert.NoError(t, erro, "Expected no error when finding Record by ID")
assert.Equal(t, "Torkin", skill3.Name)
assert.Equal(t, skill2.ID, skill3.ID)
2026-01-29 09:49:36 +01:00
assert.Equal(t, skill2.GameSystemId, skill3.GameSystemId)
2025-01-02 15:57:35 +01:00
assert.Equal(t, skill2.Name, skill3.Name)
assert.Equal(t, skill2.Beschreibung, skill3.Beschreibung)
assert.Equal(t, skill2.Quelle, skill3.Quelle)
2025-07-24 07:39:43 +02:00
err = CheckBelieve2GSMaster(character)
2025-01-02 15:57:35 +01:00
assert.NoError(t, err, "Expected no error when checkimg Transüportations against gsmaster")
}