AdoS0MfgPagedQueryTests.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Admin.NET.Plugin.AiDOP.Dto.S0.Manufacturing;
  2. using Xunit;
  3. namespace Admin.NET.Plugin.AiDOP.Tests.S0.Manufacturing;
  4. /// <summary>
  5. /// S0 Batch3 制造:列表查询 page / pageNo 与 EffectivePage 契约(单元测试)。
  6. /// </summary>
  7. public class AdoS0MfgPagedQueryTests
  8. {
  9. [Theory]
  10. [InlineData(0, 1)]
  11. [InlineData(-3, 1)]
  12. [InlineData(3, 3)]
  13. public void EffectivePage_WhenPageNoUnset_UsesPageWithClampToOne(int page, int expected)
  14. {
  15. var q = new AdoS0StdOpMasterQueryDto { Page = page };
  16. Assert.Equal(expected, q.EffectivePage);
  17. }
  18. [Fact]
  19. public void EffectivePage_WhenPageNoPositive_OverridesPage()
  20. {
  21. var q = new AdoS0StdOpMasterQueryDto { Page = 99, PageNo = 2 };
  22. Assert.Equal(2, q.EffectivePage);
  23. }
  24. [Fact]
  25. public void EffectivePage_WhenPageNoPositive_OverridesSmallPage()
  26. {
  27. var q = new AdoS0StdOpMasterQueryDto { Page = 1, PageNo = 5 };
  28. Assert.Equal(5, q.EffectivePage);
  29. }
  30. [Fact]
  31. public void EffectivePage_WhenPageNoZero_FallsBackToPage()
  32. {
  33. var q = new AdoS0ProductStructureQueryDto { Page = 4, PageNo = 0 };
  34. Assert.Equal(4, q.EffectivePage);
  35. }
  36. }