package model

import "testing"

func TestSumGoldFromLootDrops(t *testing.T) {
	drops := []LootDrop{
		{ItemType: "gold", GoldAmount: 30, Rarity: RarityCommon},
		{ItemType: "gold", GoldAmount: 12, Rarity: RarityCommon},
		{ItemType: "main_hand", ItemName: "Blade", Rarity: RarityRare},
	}
	if g := SumGoldFromLootDrops(drops); g != 42 {
		t.Fatalf("SumGoldFromLootDrops: want 42, got %d", g)
	}
}

func TestLootDropsToLootItems_skipsGold_includesGearAndPotion(t *testing.T) {
	drops := []LootDrop{
		{ItemType: "gold", GoldAmount: 99, Rarity: RarityCommon},
		{ItemType: "potion", Rarity: RarityCommon},
		{ItemType: "chest", ItemName: "Chainmail", Rarity: RarityUncommon},
		{ItemType: "head", ItemName: "", Rarity: RarityCommon}, // no name → omitted
	}
	items := LootDropsToLootItems(drops)
	if len(items) != 2 {
		t.Fatalf("want 2 loot lines (potion + chest), got %d: %+v", len(items), items)
	}
	if items[0].ItemType != "potion" || items[1].ItemType != "chest" || items[1].Name != "Chainmail" {
		t.Fatalf("unexpected items: %+v", items)
	}
}
