using System.Net; using AsbCloudApp.Requests; using AsbCloudDb.Model.GTR; using AsbCloudWebApi.IntegrationTests.Clients; using Xunit; namespace AsbCloudWebApi.IntegrationTests.Controllers; public class GtrControllerTests : BaseIntegrationTest { private readonly IGtrWitsClient client; public GtrControllerTests(WebAppFactoryFixture factory) : base(factory) { client = factory.GetAuthorizedHttpClient(string.Empty); } [Fact] public async Task GetAll_returns_success() { //arrange var well = dbContext.Wells.First(); var witsItems = CreateWitsItems(well.IdTelemetry!.Value); dbContext.WitsItemFloat.AddRange(witsItems); await dbContext.SaveChangesAsync(); var request = new GtrRequest(); //act var response = await client.GetAllAsync(well.Id, request); //assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(response.Content); Assert.True(response.Content.Any()); } private static IEnumerable CreateWitsItems(int idTelemetry) => new[] { new WitsItemFloat { IdRecord = 1, IdItem = 14, Value = 4, IdTelemetry = idTelemetry, DateTime = DateTimeOffset.UtcNow }, new WitsItemFloat { IdRecord = 1, IdItem = 14, Value = 5, IdTelemetry = idTelemetry, DateTime = DateTimeOffset.UtcNow }, new WitsItemFloat { IdRecord = 1, IdItem = 12, Value = 5, IdTelemetry = idTelemetry, DateTime = DateTimeOffset.UtcNow.AddSeconds(10) } }; }