Introduces GrantSource (17 values, DB-persisted) and GrantSourceMessages.For() for the item-acquire-history feature. Values 1/2 mirror prod captures; coverage test verifies every enum value has a non-empty message. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
993 B
C#
27 lines
993 B
C#
using SVSim.Database.Services.Inventory;
|
|
|
|
namespace SVSim.UnitTests.Services.Inventory;
|
|
|
|
public class InventoryHistoryTests
|
|
{
|
|
[Test]
|
|
public void GrantSourceMessages_returns_known_messages_for_seeded_sources()
|
|
{
|
|
Assert.That(GrantSourceMessages.For(GrantSource.DailyBonus), Is.EqualTo("Daily Bonus"));
|
|
Assert.That(GrantSourceMessages.For(GrantSource.PackOpen), Is.EqualTo("From buying card packs"));
|
|
Assert.That(GrantSourceMessages.For(GrantSource.CardCosmeticCascade), Is.EqualTo("Card cosmetic"));
|
|
Assert.That(GrantSourceMessages.For(GrantSource.Unknown), Is.EqualTo("Unknown"));
|
|
}
|
|
|
|
[Test]
|
|
public void GrantSourceMessages_covers_every_enum_value()
|
|
{
|
|
foreach (GrantSource source in Enum.GetValues<GrantSource>())
|
|
{
|
|
var message = GrantSourceMessages.For(source);
|
|
Assert.That(message, Is.Not.Null.And.Not.Empty,
|
|
$"GrantSource.{source} has no message defined.");
|
|
}
|
|
}
|
|
}
|