PagingGuardTests.cs 865 B

123456789101112131415161718192021222324252627282930
  1. using Admin.NET.Plugin.AiDOP.Infrastructure;
  2. using Xunit;
  3. namespace Admin.NET.Plugin.AiDOP.Tests.S0.Sales;
  4. /// <summary>
  5. /// S0 Batch2 列表分页与 PagingGuard 行为一致(单元测试)。
  6. /// </summary>
  7. public class PagingGuardTests
  8. {
  9. [Theory]
  10. [InlineData(0, 0, 1, 10)]
  11. [InlineData(-1, -5, 1, 10)]
  12. [InlineData(2, 10, 2, 10)]
  13. [InlineData(1, 500, 1, 200)]
  14. public void Normalize_ClampsPageAndPageSize(int page, int pageSize, int expectedPage, int expectedPageSize)
  15. {
  16. var (p, ps) = PagingGuard.Normalize(page, pageSize);
  17. Assert.Equal(expectedPage, p);
  18. Assert.Equal(expectedPageSize, ps);
  19. }
  20. [Fact]
  21. public void Normalize_CustomMaxPageSize_IsRespected()
  22. {
  23. var (p, ps) = PagingGuard.Normalize(1, 100, maxPageSize: 50);
  24. Assert.Equal(1, p);
  25. Assert.Equal(50, ps);
  26. }
  27. }