shoc-backend/SeaHavenIndustries.Tests/WorkOrderNumberNormalizerTests.cs
2026-07-02 09:19:28 -03:00

43 lines
1.1 KiB
C#

using SeaHaven.Services.Helpers;
namespace SeaHavenIndustries.Tests;
public class WorkOrderNumberNormalizerTests
{
[Fact]
public void TryNormalize_PadsToElevenDigits()
{
var ok = WorkOrderNumberNormalizer.TryNormalize("12345", out var normalized, out var error);
Assert.True(ok);
Assert.Null(error);
Assert.Equal("00000012345", normalized);
}
[Fact]
public void TryNormalize_AcceptsElevenDigits()
{
var ok = WorkOrderNumberNormalizer.TryNormalize("10000000001", out var normalized, out _);
Assert.True(ok);
Assert.Equal("10000000001", normalized);
}
[Fact]
public void TryNormalize_RejectsEmpty()
{
var ok = WorkOrderNumberNormalizer.TryNormalize("", out _, out var error);
Assert.False(ok);
Assert.NotNull(error);
}
[Fact]
public void TryNormalize_RejectsTooLong()
{
var ok = WorkOrderNumberNormalizer.TryNormalize("123456789012", out _, out var error);
Assert.False(ok);
Assert.Contains("11", error);
}
}