using Data.SeaHavenIndustries.Enums; using SeaHaven.Services.Constants; using SeaHaven.Services.Helpers; namespace SeaHavenIndustries.Tests; public class LifecycleStatusMapperTests { [Theory] [InlineData("Open", LifecycleStatus.Incomplete)] [InlineData("Incomplete", LifecycleStatus.Incomplete)] [InlineData("InProgress", LifecycleStatus.InProgress)] [InlineData("In Progress", LifecycleStatus.InProgress)] [InlineData("Completed", LifecycleStatus.Completed)] [InlineData("Cancelled", LifecycleStatus.Canceled)] [InlineData("On Hold", LifecycleStatus.Pending)] [InlineData("Scheduled", LifecycleStatus.Scheduled)] [InlineData("En Route", LifecycleStatus.EnRoute)] [InlineData("Pending Quote", LifecycleStatus.PendingQuote)] public void FromLegacyStatus_MapsKnownValues(string input, LifecycleStatus expected) { var result = LifecycleStatusMapper.FromLegacyStatus(input); Assert.Equal(expected, result); } [Fact] public void FromLegacyStatus_Unknown_ReturnsNull() { var result = LifecycleStatusMapper.FromLegacyStatus("MysteryStatus"); Assert.Null(result); } [Theory] [InlineData(LifecycleStatus.EnRoute, "En Route")] [InlineData(LifecycleStatus.PendingQuote, "Pending Quote")] public void ToFeLabel_ReturnsBoardLabel(LifecycleStatus status, string expected) { Assert.Equal(expected, LifecycleStatusMapper.ToFeLabel(status)); } }