Files
DotNetAngular/tests/Application.UnitTest/DTOs/PagedResultTests.cs
T
2026-06-10 23:37:08 +02:00

111 lines
2.5 KiB
C#

using Application.DTOs;
namespace Application.UnitTest.DTOs;
public class PagedResultTests
{
[Fact]
public void TotalPages_ShouldCalculateCorrectly_WhenExactDivision()
{
var paged = new PagedResult<string>
{
Items = ["a", "b", "c", "d", "e"],
TotalCount = 5,
PageNumber = 1,
PageSize = 5
};
Assert.Equal(1, paged.TotalPages);
}
[Fact]
public void TotalPages_ShouldRoundUp_WhenNotExactDivision()
{
var paged = new PagedResult<string>
{
Items = ["a", "b", "c"],
TotalCount = 10,
PageNumber = 1,
PageSize = 3
};
Assert.Equal(4, paged.TotalPages);
}
[Fact]
public void TotalPages_ShouldBeZero_WhenTotalCountIsZero()
{
var paged = new PagedResult<string>
{
Items = [],
TotalCount = 0,
PageNumber = 1,
PageSize = 10
};
Assert.Equal(0, paged.TotalPages);
}
[Fact]
public void HasPreviousPage_ShouldBeFalse_WhenOnFirstPage()
{
var paged = new PagedResult<string>
{
Items = [],
TotalCount = 20,
PageNumber = 1,
PageSize = 10
};
Assert.False(paged.HasPreviousPage);
}
[Fact]
public void HasPreviousPage_ShouldBeTrue_WhenPastFirstPage()
{
var paged = new PagedResult<string>
{
Items = [],
TotalCount = 20,
PageNumber = 2,
PageSize = 10
};
Assert.True(paged.HasPreviousPage);
}
[Fact]
public void HasNext_ShouldBeFalse_WhenOnLastPage()
{
var paged = new PagedResult<string>
{
Items = [],
TotalCount = 20,
PageNumber = 2,
PageSize = 10
};
Assert.False(paged.HasNext);
}
[Fact]
public void HasNext_ShouldBeTrue_WhenMorePagesExist()
{
var paged = new PagedResult<string>
{
Items = [],
TotalCount = 20,
PageNumber = 1,
PageSize = 10
};
Assert.True(paged.HasNext);
}
[Fact]
public void HasNext_ShouldBeFalse_WhenOnlyOnePage()
{
var paged = new PagedResult<string>
{
Items = [],
TotalCount = 3,
PageNumber = 1,
PageSize = 10
};
Assert.False(paged.HasNext);
}
}