diff --git a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataCache.cs b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataCache.cs index 154b70d2..22b65694 100644 --- a/AsbCloudInfrastructure/Services/SAUB/TelemetryDataCache.cs +++ b/AsbCloudInfrastructure/Services/SAUB/TelemetryDataCache.cs @@ -38,8 +38,6 @@ namespace AsbCloudInfrastructure.Services.SAUB private static TelemetryDataCache? instance; - public int CacheItemCount => caches.Count; - public static TelemetryDataCache GetInstance(IServiceProvider provider) where TEntity : class, AsbCloudDb.Model.ITelemetryData { diff --git a/AsbCloudWebApi.Tests/AsbCloudWebApi.Tests.csproj b/AsbCloudWebApi.Tests/AsbCloudWebApi.Tests.csproj index 4024a917..4cf2783e 100644 --- a/AsbCloudWebApi.Tests/AsbCloudWebApi.Tests.csproj +++ b/AsbCloudWebApi.Tests/AsbCloudWebApi.Tests.csproj @@ -9,7 +9,6 @@ - diff --git a/AsbCloudWebApi.Tests/ServicesTests/SAUB/TelemetryDataSaubCacheTests.cs b/AsbCloudWebApi.Tests/ServicesTests/SAUB/TelemetryDataSaubCacheTests.cs index a5e9f12a..94975e85 100644 --- a/AsbCloudWebApi.Tests/ServicesTests/SAUB/TelemetryDataSaubCacheTests.cs +++ b/AsbCloudWebApi.Tests/ServicesTests/SAUB/TelemetryDataSaubCacheTests.cs @@ -6,7 +6,6 @@ using AsbCloudApp.Data.SAUB; using AsbCloudDb.Model; using AsbCloudInfrastructure.Background; using AsbCloudInfrastructure.Services.SAUB; -using Bogus; using Microsoft.Extensions.DependencyInjection; using NSubstitute; using Xunit; @@ -15,55 +14,52 @@ namespace AsbCloudWebApi.Tests.ServicesTests.SAUB; public class TelemetryDataSaubCacheTests { - private readonly IEnumerable fakeTelemetries = new Faker() - .RuleFor(t => t.DateTime, DateTime.UtcNow) - .Generate(5) - .OrderBy(t => t.DateTime); - - private readonly IServiceProvider serviceProvider = Substitute.For(); + private const int idTelemetry = 1; + + private readonly IEnumerable fakeTelemetries = new[] + { + new TelemetryDataSaubDto() + }; + + private readonly IServiceProvider serviceProviderMock = Substitute.For(); private readonly TelemetryDataCache telemetryDataCache; - + private readonly Type telemetryDataCacheType; + public TelemetryDataSaubCacheTests() { - serviceProvider.GetService().Returns(new BackgroundWorker(serviceProvider)); + serviceProviderMock.GetService().Returns(new BackgroundWorker(serviceProviderMock)); - telemetryDataCache = TelemetryDataCache.GetInstance(serviceProvider); + telemetryDataCache = TelemetryDataCache.GetInstance(serviceProviderMock); + + telemetryDataCacheType = telemetryDataCache.GetType(); } [Fact] - public void AddRange_ShouldReturn_OneAddedElementToCache() + public void AddRange_ShouldReturn_AddedElementToCache() { //arrange - const int expectedCacheItemCount = 1; - - var idTelemetry = new Random().Next(1, 100); - var telemetryDataCacheType = telemetryDataCache.GetType(); - telemetryDataCacheType.GetField("isLoading", BindingFlags.NonPublic | BindingFlags.Instance)?.SetValue(telemetryDataCache, false); //act telemetryDataCache.AddRange(idTelemetry, fakeTelemetries); - + var lastTelemetry = telemetryDataCache.GetLastOrDefault(idTelemetry); + //assert - Assert.True(telemetryDataCache.CacheItemCount == expectedCacheItemCount); + Assert.Equal(lastTelemetry, fakeTelemetries.Last()); } [Fact] - public void AddRange_ShouldReturn_ZeroAddedElementToCache() + public void AddRange_ShouldReturn_NotAddedToCache() { //arrange - const int expectedCacheItemCount = 0; - - var idTelemetry = new Random().Next(1, 100); - var telemetryDataCacheType = telemetryDataCache.GetType(); - telemetryDataCacheType.GetField("isLoading", BindingFlags.NonPublic | BindingFlags.Instance)?.SetValue(telemetryDataCache, true); - + //act telemetryDataCache.AddRange(idTelemetry, fakeTelemetries); - + var lastTelemetry = telemetryDataCache.GetLastOrDefault(idTelemetry); + //assert - Assert.True(telemetryDataCache.CacheItemCount == expectedCacheItemCount); + Assert.NotEqual(lastTelemetry, fakeTelemetries.Last()); } } \ No newline at end of file