refactor(tests): migrate Database.Tests from FluentAssertions to Shouldly

Replace FluentAssertions with Shouldly across all 6 test files (94 tests).
Add ShouldlyExtensions for BeCloseTo and BeEquivalentTo patterns.
This commit is contained in:
Joseph Doherty
2026-01-29 14:40:18 -05:00
parent 04383d672c
commit 1e23616638
9 changed files with 223 additions and 152 deletions
@@ -1,8 +1,8 @@
using Dapper;
using FluentAssertions;
using JdeScoping.Core.Models.Search;
using JdeScoping.Core.ViewModels;
using JdeScoping.Database.Tests.Infrastructure;
using Shouldly;
namespace JdeScoping.Database.Tests.Functions;
@@ -39,10 +39,10 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(3);
resultList.Should().Contain(x => x.LotNumber == "LOT001" && x.ItemNumber == "ITEM001");
resultList.Should().Contain(x => x.LotNumber == "LOT002" && x.ItemNumber == "ITEM002");
resultList.Should().Contain(x => x.LotNumber == "LOT003" && x.ItemNumber == "ITEM003");
resultList.Count.ShouldBe(3);
resultList.ShouldContain(x => x.LotNumber == "LOT001" && x.ItemNumber == "ITEM001");
resultList.ShouldContain(x => x.LotNumber == "LOT002" && x.ItemNumber == "ITEM002");
resultList.ShouldContain(x => x.LotNumber == "LOT003" && x.ItemNumber == "ITEM003");
}
[Fact]
@@ -58,7 +58,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -73,7 +73,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -85,7 +85,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = 99999 });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -100,7 +100,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -115,7 +115,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -136,10 +136,10 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(3);
resultList.Should().Contain(x => x.LotNumber == "LOT001" && x.ItemNumber == null);
resultList.Should().Contain(x => x.LotNumber == null && x.ItemNumber == "ITEM002");
resultList.Should().Contain(x => x.LotNumber == "LOT003" && x.ItemNumber == "ITEM003");
resultList.Count.ShouldBe(3);
resultList.ShouldContain(x => x.LotNumber == "LOT001" && x.ItemNumber == null);
resultList.ShouldContain(x => x.LotNumber == null && x.ItemNumber == "ITEM002");
resultList.ShouldContain(x => x.LotNumber == "LOT003" && x.ItemNumber == "ITEM003");
}
[Fact]
@@ -163,9 +163,9 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(2);
resultList.Should().Contain(x => x.LotNumber == "LOT-001" && x.ItemNumber == "ITEM_001");
resultList.Should().Contain(x => x.LotNumber == "LOT.002" && x.ItemNumber == "ITEM/002");
resultList.Count.ShouldBe(2);
resultList.ShouldContain(x => x.LotNumber == "LOT-001" && x.ItemNumber == "ITEM_001");
resultList.ShouldContain(x => x.LotNumber == "LOT.002" && x.ItemNumber == "ITEM/002");
}
#endregion
@@ -212,10 +212,10 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(3);
resultList.Should().Contain(x => x.ItemNumber == "ITEM001" && x.OperationNumber == "10" && x.MisNumber == "MIS001" && x.MisRevision == "A");
resultList.Should().Contain(x => x.ItemNumber == "ITEM002" && x.OperationNumber == "20" && x.MisNumber == "MIS002" && x.MisRevision == "B");
resultList.Should().Contain(x => x.ItemNumber == "ITEM003" && x.OperationNumber == "30" && x.MisNumber == "MIS003" && x.MisRevision == "C");
resultList.Count.ShouldBe(3);
resultList.ShouldContain(x => x.ItemNumber == "ITEM001" && x.OperationNumber == "10" && x.MisNumber == "MIS001" && x.MisRevision == "A");
resultList.ShouldContain(x => x.ItemNumber == "ITEM002" && x.OperationNumber == "20" && x.MisNumber == "MIS002" && x.MisRevision == "B");
resultList.ShouldContain(x => x.ItemNumber == "ITEM003" && x.OperationNumber == "30" && x.MisNumber == "MIS003" && x.MisRevision == "C");
}
[Fact]
@@ -231,7 +231,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -246,7 +246,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -258,7 +258,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = 99999 });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -273,7 +273,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -288,7 +288,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().BeEmpty();
results.ShouldBeEmpty();
}
[Fact]
@@ -309,10 +309,10 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(3);
resultList.Should().Contain(x => x.ItemNumber == "ITEM001" && x.OperationNumber == "10" && x.MisNumber == null && x.MisRevision == null);
resultList.Should().Contain(x => x.ItemNumber == null && x.OperationNumber == null && x.MisNumber == "MIS002" && x.MisRevision == "B");
resultList.Should().Contain(x => x.ItemNumber == "ITEM003" && x.OperationNumber == "30" && x.MisNumber == "MIS003" && x.MisRevision == "C");
resultList.Count.ShouldBe(3);
resultList.ShouldContain(x => x.ItemNumber == "ITEM001" && x.OperationNumber == "10" && x.MisNumber == null && x.MisRevision == null);
resultList.ShouldContain(x => x.ItemNumber == null && x.OperationNumber == null && x.MisNumber == "MIS002" && x.MisRevision == "B");
resultList.ShouldContain(x => x.ItemNumber == "ITEM003" && x.OperationNumber == "30" && x.MisNumber == "MIS003" && x.MisRevision == "C");
}
[Fact]
@@ -332,12 +332,12 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(1);
resultList.Count.ShouldBe(1);
var result = resultList.First();
result.ItemNumber.Should().Be("ITEM001");
result.OperationNumber.Should().Be("10");
result.MisNumber.Should().BeNull();
result.MisRevision.Should().BeNull();
result.ItemNumber.ShouldBe("ITEM001");
result.OperationNumber.ShouldBe("10");
result.MisNumber.ShouldBeNull();
result.MisRevision.ShouldBeNull();
}
[Fact]
@@ -366,12 +366,12 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(1);
resultList.Count.ShouldBe(1);
var result = resultList.First();
result.ItemNumber.Should().Be("ITEM-001");
result.OperationNumber.Should().Be("10A");
result.MisNumber.Should().Be("MIS.001");
result.MisRevision.Should().Be("A-1");
result.ItemNumber.ShouldBe("ITEM-001");
result.OperationNumber.ShouldBe("10A");
result.MisNumber.ShouldBe("MIS.001");
result.MisRevision.ShouldBe("A-1");
}
#endregion
@@ -394,7 +394,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().HaveCount(100);
results.Count().ShouldBe(100);
}
[Fact]
@@ -419,7 +419,7 @@ public class ComplexTableFunctionTests : DatabaseTestBase
new { SearchId = searchId });
// Assert
results.Should().HaveCount(100);
results.Count().ShouldBe(100);
}
[Fact]
@@ -436,9 +436,9 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(1);
resultList.First().LotNumber.Should().BeNull();
resultList.First().ItemNumber.Should().BeNull();
resultList.Count.ShouldBe(1);
resultList.First().LotNumber.ShouldBeNull();
resultList.First().ItemNumber.ShouldBeNull();
}
[Fact]
@@ -455,12 +455,12 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(1);
resultList.Count.ShouldBe(1);
var result = resultList.First();
result.ItemNumber.Should().BeNull();
result.OperationNumber.Should().BeNull();
result.MisNumber.Should().BeNull();
result.MisRevision.Should().BeNull();
result.ItemNumber.ShouldBeNull();
result.OperationNumber.ShouldBeNull();
result.MisNumber.ShouldBeNull();
result.MisRevision.ShouldBeNull();
}
[Fact]
@@ -479,9 +479,9 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(1);
resultList.First().LotNumber.Should().HaveLength(30);
resultList.First().ItemNumber.Should().HaveLength(128);
resultList.Count.ShouldBe(1);
resultList.First().LotNumber.Length.ShouldBe(30);
resultList.First().ItemNumber.Length.ShouldBe(128);
}
[Fact]
@@ -502,12 +502,12 @@ public class ComplexTableFunctionTests : DatabaseTestBase
// Assert
var resultList = results.ToList();
resultList.Should().HaveCount(1);
resultList.Count.ShouldBe(1);
var result = resultList.First();
result.ItemNumber.Should().HaveLength(128);
result.OperationNumber.Should().HaveLength(10);
result.MisNumber.Should().HaveLength(10);
result.MisRevision.Should().HaveLength(10);
result.ItemNumber.Length.ShouldBe(128);
result.OperationNumber.Length.ShouldBe(10);
result.MisNumber.Length.ShouldBe(10);
result.MisRevision.Length.ShouldBe(10);
}
#endregion