Деление одного теста с получением ртк-отчета на несколько

This commit is contained in:
Olga Nemt 2024-02-29 13:08:53 +05:00
parent 58729077fa
commit 2ece8cdb9f
2 changed files with 79 additions and 37 deletions

View File

@ -15,6 +15,6 @@ public interface IProcessMapReportDrilling
Task<IApiResponse<IEnumerable<ProcessMapReportDataSaubStatDto>>> GetReportAsync(int idWell, [FromQuery] DataSaubStatRequest request, CancellationToken cancellationToken);
[Get($"{BaseRoute}/report/export")]
Task<IApiResponse<IActionResult>> ExportReportAsync(int idWell, [FromQuery] DataSaubStatRequest request, CancellationToken cancellationToken);
Task<IApiResponse<PhysicalFileResult>> ExportReportAsync(int idWell, [FromQuery] DataSaubStatRequest request, CancellationToken cancellationToken);
}

View File

@ -1,27 +1,22 @@
using AsbCloudApp.Requests;
using AsbCloudDb.Model.ProcessMapPlan;
using AsbCloudWebApi.IntegrationTests.Clients;
using Mapster;
using Microsoft.EntityFrameworkCore;
using System.Net;
using System.Reflection;
using AsbCloudDb.Model.ProcessMaps;
using AsbCloudWebApi.IntegrationTests.Data;
using Refit;
using Xunit;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudDb.Model;
using AsbCloudDb.Model.ProcessMaps;
using AsbCloudWebApi.IntegrationTests.Clients;
using Org.BouncyCastle.Asn1.Ocsp;
using System.Net;
using System.Net.Http.Headers;
using Xunit;
namespace AsbCloudWebApi.IntegrationTests.Controllers.ProcessMapPlan;
public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
public class ProcessMapReportDrillingControllerTest : BaseIntegrationTest
{
private readonly WellSectionType wellSection = new WellSectionType()
{
Id = 1,
Caption = "Секция 1",
Order = 1
Id = 1,
Caption = "Секция 1",
Order = 1
};
private readonly WellOperationCategory wellOperationCategory = new WellOperationCategory()
@ -29,12 +24,12 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
Id = 1,
IdParent = null,
KeyValueName = "Name",
Name = "Name"
Name = "Name"
};
private readonly WellOperation wellOperation = new WellOperation()
{
CategoryInfo= "CategoryInfo",
CategoryInfo = "CategoryInfo",
Id = 10,
Comment = "Comment",
DateStart = DateTimeOffset.UtcNow,
@ -59,8 +54,8 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
AxialLoadLimitMax = 10,
AxialLoadSp = 8,
BlockSpeedSp = 50.0,
DateEnd = DateTimeOffset.UtcNow,
DateStart = DateTimeOffset.UtcNow.AddDays(-1),
DateEnd = DateTimeOffset.UtcNow.AddMinutes(40),
DateStart = DateTimeOffset.UtcNow.AddMinutes(30),
DepthEnd = 85.99299621582031,
DepthStart = 85.9260025024414,
EnabledSubsystems = 0,
@ -85,8 +80,8 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
AxialLoadLimitMax = 10.0,
AxialLoadSp = 8,
BlockSpeedSp = 20,
DateEnd = DateTimeOffset.UtcNow.AddDays(-1),
DateStart = DateTimeOffset.UtcNow.AddDays(-2),
DateEnd = DateTimeOffset.UtcNow.AddMinutes(30),
DateStart = DateTimeOffset.UtcNow.AddMinutes(20),
DepthEnd = 86.28099822998047,
DepthStart = 86.21900177001953,
EnabledSubsystems = 1,
@ -111,8 +106,8 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
AxialLoadLimitMax = 15.0,
AxialLoadSp = 8,
BlockSpeedSp = 110.0,
DateEnd = DateTimeOffset.UtcNow.AddDays(-2),
DateStart = DateTimeOffset.UtcNow.AddDays(-3),
DateEnd = DateTimeOffset.UtcNow.AddMinutes(20),
DateStart = DateTimeOffset.UtcNow.AddMinutes(10),
DepthEnd = 106.7490005493164,
DepthStart = 106.47899627685547,
EnabledSubsystems = 1,
@ -136,7 +131,7 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
private readonly ProcessMapPlanDrilling entity = new ()
private readonly ProcessMapPlanDrilling entity = new()
{
Id = 0,
IdAuthor = 1,
@ -172,18 +167,15 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
public ProcessMapReportDrillingControllerTest(WebAppFactoryFixture factory) : base(factory)
{
client = factory.GetAuthorizedHttpClient<IProcessMapReportDrilling>();
client = factory.GetAuthorizedHttpClient<IProcessMapReportDrilling>(string.Empty);
}
[Fact]
public async Task Get_rtk_report_returns_success()
public async Task Get_rtk_report_by_default_request_returns_success()
{
//clear
dbContext.CleanupDbSet<ProcessMapPlanDrilling>();
//arrange
dbContext.CleanupDbSet<ProcessMapPlanDrilling>();
var dbset = dbContext.Set<ProcessMapPlanDrilling>();
dbset.Add(entity);
entity.Id = 1;
@ -210,28 +202,77 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
Assert.NotNull(response.Content);
Assert.Equal(dataSaubStats.Count() - 1, response.Content.Count());
}
[Fact]
public async Task Get_rtk_report_by_parametrize_request_returns_success()
{
//arrange
dbContext.CleanupDbSet<ProcessMapPlanDrilling>();
var dbset = dbContext.Set<ProcessMapPlanDrilling>();
dbset.Add(entity);
entity.Id = 1;
dbset.Add(entity);
entity.Id = 2;
dbset.Add(entity);
var dbSetWellOperationCategory = dbContext.Set<WellOperationCategory>();
dbSetWellOperationCategory.Add(wellOperationCategory);
var dbSetWellOperation = dbContext.Set<WellOperation>();
dbSetWellOperation.Add(wellOperation);
var dbSetDataSaubStat = dbContext.Set<DataSaubStat>();
dbSetDataSaubStat.AddRange(dataSaubStats);
dbContext.SaveChanges();
//act
request = new DataSaubStatRequest() {
var request = new DataSaubStatRequest()
{
DeltaAxialLoad = 5,
DeltaPressure = 15,
DeltaRotorTorque = 10
};
response = await client.GetReportAsync(1, request, CancellationToken.None);
var response = await client.GetReportAsync(1, request, CancellationToken.None);
//assert
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
Assert.NotNull(response.Content);
Assert.Equal(1, response.Content.Count());
Assert.Equal(1, response.Content.Count());
}
[Fact]
public async Task Get_rtk_report_returns_BadRequest()
{
//arrange
dbContext.CleanupDbSet<ProcessMapPlanDrilling>();
var dbset = dbContext.Set<ProcessMapPlanDrilling>();
dbset.Add(entity);
entity.Id = 1;
dbset.Add(entity);
entity.Id = 2;
dbset.Add(entity);
var dbSetWellOperationCategory = dbContext.Set<WellOperationCategory>();
dbSetWellOperationCategory.Add(wellOperationCategory);
var dbSetWellOperation = dbContext.Set<WellOperation>();
dbSetWellOperation.Add(wellOperation);
var dbSetDataSaubStat = dbContext.Set<DataSaubStat>();
dbSetDataSaubStat.AddRange(dataSaubStats);
dbContext.SaveChanges();
//act
request = new DataSaubStatRequest()
var request = new DataSaubStatRequest()
{
DeltaAxialLoad = 15,
DeltaPressure = 25,
DeltaRotorTorque = 20
};
response = await client.GetReportAsync(1, request, CancellationToken.None);
var response = await client.GetReportAsync(1, request, CancellationToken.None);
//assert
Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
@ -268,6 +309,7 @@ public class ProcessMapReportDrillingControllerTest: BaseIntegrationTest
//assert
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
Assert.NotNull(response.Content);
Assert.Equal("application/octet-stream", response.ContentHeaders?.ContentType?.MediaType);
Assert.True(response.ContentHeaders?.ContentLength > 0);
}
}