From a7d7440a07f052c819ef7e950e8b86a5a9c16e73 Mon Sep 17 00:00:00 2001 From: Olga Nemt Date: Tue, 6 Feb 2024 10:29:01 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D1=8B=20=D0=B8=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=BE=D0=BD=D0=BD=D1=8B=D0=B5=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B4=D0=BB=D1=8F=20DataSaubStat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repository/DataSaubStatRepositoryTest.cs | 54 +++++++++++++------ 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/AsbCloudWebApi.IntegrationTests/Repository/DataSaubStatRepositoryTest.cs b/AsbCloudWebApi.IntegrationTests/Repository/DataSaubStatRepositoryTest.cs index bf71fcfa..08ff3584 100644 --- a/AsbCloudWebApi.IntegrationTests/Repository/DataSaubStatRepositoryTest.cs +++ b/AsbCloudWebApi.IntegrationTests/Repository/DataSaubStatRepositoryTest.cs @@ -1,10 +1,8 @@ using AsbCloudApp.Data; -using AsbCloudApp.Data.ProcessMapPlan; using AsbCloudApp.Repositories; using AsbCloudDb.Model; using Mapster; using Microsoft.Extensions.DependencyInjection; -using System.ComponentModel; using Xunit; namespace AsbCloudWebApi.IntegrationTests.Repository @@ -16,8 +14,8 @@ namespace AsbCloudWebApi.IntegrationTests.Repository new DataSaubStatDto() { IdTelemetry = 1, - DateEnd = DateTimeOffset.UtcNow.AddDays(-10), - DateStart = DateTimeOffset.UtcNow.AddDays(-11), + DateEnd = new DateTimeOffset(2024, 1, 1, 20, 25, 0, TimeSpan.Zero), + DateStart = new DateTimeOffset(2024, 1, 1, 20, 15, 0, TimeSpan.Zero), AxialLoad = 10.0, AxialLoadLimitMax = 10.0, AxialLoadSp = 10.0, @@ -33,17 +31,17 @@ namespace AsbCloudWebApi.IntegrationTests.Repository Pressure = 10.0, PressureIdle = 10.0, PressureSp = 10.0, - RotorSpeed = 10.0, - RotorTorque = 10.0, - RotorTorqueSp = 10.0, - RotorTorqueLimitMax = 10.0, + RotorSpeed = 9.0, + RotorTorque = 9.0, + RotorTorqueSp = 9.0, + RotorTorqueLimitMax = 9.0, Speed = 10.0 }, new DataSaubStatDto() { - IdTelemetry = 1, - DateEnd = DateTimeOffset.UtcNow.AddDays(-20), - DateStart = DateTimeOffset.UtcNow.AddDays(-21), + IdTelemetry = 1, + DateEnd = new DateTimeOffset(2024, 2, 2, 20, 25, 0, TimeSpan.Zero), + DateStart = new DateTimeOffset(2024, 2, 2, 20, 15, 0, TimeSpan.Zero), AxialLoad = 10.0, AxialLoadLimitMax = 10.0, AxialLoadSp = 10.0, @@ -70,24 +68,24 @@ namespace AsbCloudWebApi.IntegrationTests.Repository { Id = 2, IdParent = null, - Name = "Категория 2" + Name = "Категория 2" }; private readonly IDataSaubStatRepository dataSaubStatRepository; public DataSaubStatRepositoryTest(WebAppFactoryFixture factory) : base(factory) { - var stats = dbContext.Set(); + var dbSet = dbContext.Set(); var categories = dbContext.Set(); categories.RemoveRange(categories); - stats.RemoveRange(stats); + dbSet.RemoveRange(dbSet); dbContext.SaveChanges(); categories.Add(category); var entities = statDtos.Select(stat => stat.Adapt()); - stats.AddRange(entities); + dbSet.AddRange(entities); dbContext.SaveChanges(); dataSaubStatRepository = scope.ServiceProvider.GetRequiredService(); @@ -104,17 +102,39 @@ namespace AsbCloudWebApi.IntegrationTests.Repository var actual = result.Any() ? result.First().DateEnd : DateTimeOffset.UnixEpoch; //assert - Assert.Equal(expected.Ticks, actual.Ticks); + Assert.True((expected - actual).Ticks == 0.0); } [Fact] public async Task InsertRangeAsync_returns_success() { //act - var result = await dataSaubStatRepository.InsertRangeAsync(statDtos, CancellationToken.None); + var dbSet = dbContext.Set(); + dbSet.RemoveRange(dbSet); + dbContext.SaveChanges(); + var result = await dataSaubStatRepository.InsertRangeAsync(statDtos, CancellationToken.None); + //assert Assert.Equal(statDtos.Length, result); + + var statDtosFromDb = dbSet.Select(stat => stat.Adapt()).ToArray(); + + var excludedProps = new[] { + nameof(DataSaubStat.Telemetry), + nameof(DataSaubStat.Id), + nameof(DataSaubStat.OperationCategory) + }; + foreach (var statDtoFromDb in statDtosFromDb) + { + var statDto = statDtos + .Where(stat => stat.DateStart == statDtoFromDb.DateStart) + .Where(stat => stat.DateEnd == statDtoFromDb.DateEnd) + .FirstOrDefault(); + + MatchHelper.Match(statDtoFromDb, statDto, excludedProps); + } + } } }