PickBillNbrSyncRulesTests.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Admin.NET.Plugin.AiDOP.DataPlatform.Wms;
  2. using Xunit;
  3. namespace Admin.NET.Plugin.AiDOP.Tests.DataPlatform;
  4. public class PickBillNbrSyncRulesTests
  5. {
  6. [Fact]
  7. public void Unpicked_qty_change_updates()
  8. {
  9. var a = PickBillNbrSyncRules.DecideExisting(qtyRec: 0, newQty: 12, stillRequired: true);
  10. Assert.Equal(PickBillNbrSyncRules.LineAction.UpdateQty, a);
  11. }
  12. [Fact]
  13. public void Picked_less_than_new_qty_updates()
  14. {
  15. var a = PickBillNbrSyncRules.DecideExisting(qtyRec: 3, newQty: 10, stillRequired: true);
  16. Assert.Equal(PickBillNbrSyncRules.LineAction.UpdateQty, a);
  17. }
  18. [Fact]
  19. public void Picked_not_less_than_new_qty_closes()
  20. {
  21. var a = PickBillNbrSyncRules.DecideExisting(qtyRec: 8, newQty: 8, stillRequired: true);
  22. Assert.Equal(PickBillNbrSyncRules.LineAction.Close, a);
  23. }
  24. [Fact]
  25. public void Removed_from_plan_closes()
  26. {
  27. var a = PickBillNbrSyncRules.DecideExisting(qtyRec: 0, newQty: 0, stillRequired: false);
  28. Assert.Equal(PickBillNbrSyncRules.LineAction.Close, a);
  29. }
  30. [Theory]
  31. [InlineData(null, "8010")]
  32. [InlineData("", "8010")]
  33. [InlineData("8010", "8010")]
  34. [InlineData("838257186181189", "8010")]
  35. [InlineData("2410", "2410")]
  36. public void ResolveMesDomain_falls_back_when_blank_or_too_long(string? domain, string expected)
  37. {
  38. Assert.Equal(expected, PickBillNbrSyncService.ResolveMesDomain(domain));
  39. }
  40. }