Добавлен интеграционный тест, который проверяет пагинацию в ГГД

This commit is contained in:
Степанов Дмитрий 2024-04-11 09:37:11 +03:00
parent caf88d371a
commit 59d295a4f2
2 changed files with 13 additions and 5 deletions

View File

@ -19,7 +19,7 @@ public interface IWellOperationClient
Task<IApiResponse<int>> UpdateRangeAsync(int idWell, [Body] IEnumerable<WellOperationDto> dtos);
[Get(BaseRoute)]
Task<IApiResponse<PaginationContainer<WellOperationDto>>> GetPageOperationsPlanAsync(int idWell, [Query] WellOperationRequestBase request);
Task<IApiResponse<PaginationContainer<WellOperationDto>>> GetPageOperationsAsync(int idWell, [Query] WellOperationRequestBase request);
[Multipart]
[Post(BaseRoute + "/parse/{idType}")]

View File

@ -89,9 +89,12 @@ public class WellOperationControllerTest : BaseIntegrationTest
/// </summary>
/// <returns></returns>
[Fact]
public async Task GetPageOperationsPlanAsync_returns_success()
public async Task GetPageOperationsAsync_returns_first_page()
{
//arrange
const int pageSize = 10;
const int pageIndex = 0;
var well = await dbContext.Wells.FirstAsync();
var entity = CreateWellOperation(well.Id);
dbContext.WellOperations.Add(entity);
@ -104,17 +107,22 @@ public class WellOperationControllerTest : BaseIntegrationTest
var request = new WellOperationRequestBase
{
OperationType = WellOperation.IdOperationTypePlan
OperationType = WellOperation.IdOperationTypePlan,
Skip = pageIndex,
Take = pageSize,
};
//act
var response = await client.GetPageOperationsPlanAsync(well.Id, request);
var response = await client.GetPageOperationsAsync(well.Id, request);
//assert
Assert.Equal(response.StatusCode, HttpStatusCode.OK);
Assert.NotNull(response.Content);
Assert.Single(response.Content.Items);
var totalExpected = response.Content.Count - pageSize * pageIndex;
Assert.Equal(totalExpected, response.Content.Items.Count());
Assert.Single(response.Content.Items);
var actualDto = response.Content.Items.First();
MatchHelper.Match(dto, actualDto);