using adas_core.Domain.Models.AppSettings; using adas_core.Domain.Models.MongoModels; using adas_core.Infrastructure.Repositories; using Microsoft.Extensions.Options; using Options = Microsoft.Extensions.Options.Options; namespace adas_core.Test.Repositories; [TestFixture] [Category("Integration")] public class PoCMappingRepositoryTest { [OneTimeSetUp] public async Task Init() { _optionsApiSettings = Options.Create(_apiSettings); var mappingItem1 = new PoCMappingItem { OriginalPoC = "original1", NewPoC = "new1", Beds = [ new List { "bed1", "bed 1" }, new List { "bed2", "bed 2" }, new List { "bed3", "bed 3" }, new List { "bed4", "bed 4" }, new List { "bed5", "bed 5" }, new List { "bed6", "bed 6" }, new List { "bed7", "bed 7" }, new List { "bed8", "bed 8" }, new List { "bed9", "bed 9" }, new List { "bed10", "bed 10" }, new List { "bed11", "bed 11" } ] }; var pointOfCares = new List { mappingItem1 }; var mapping = new PoCMapping { Id = "PV1", PointOfCares = pointOfCares }; await IntegrationDb.Database.DropCollectionAsync("mappings"); await IntegrationDb.Database.CreateCollectionAsync("mappings"); _repository = new PoCMappingRepository(_optionsApiSettings, IntegrationDb.Database); await _repository.InsertOneAsync(mapping); } private PoCMappingRepository _repository; private readonly ApiSettings _apiSettings = new(); private IOptions _optionsApiSettings; [Test] public async Task FindByKey_Find_Return_Mapping() { var result = await _repository.FindByKey("PV1"); Assert.That(result, Is.Not.Null); Assert.That(result!.PointOfCares, Has.Count.GreaterThan(0)); Assert.That(result.PointOfCares[0].Beds, Has.Count.GreaterThan(0)); } [Test] public async Task FindByKey_Not_Find_Return_Mapping() { var result = await _repository.FindByKey("PV2"); Assert.That(result, Is.Null); } }