public async Task TestResourceHasReferenceShouldReturnResource() { var searchRepository = new InMemorySearchRepository(); await searchRepository.AddResourceAsync(FhirResourceProvider.Observation); await searchRepository.AddResourceAsync(new Observation { Id = "4354363", Subject = new ResourceReference("did:iota:765658556") }); var interactor = new SearchResourcesInteractor(new InMemoryFhirRepository(), searchRepository); var result = await interactor.ExecuteAsync(new SearchResourcesRequest { ResourceType = "Observation", Parameters = "_reference=did:iota:1234567890" }); Assert.AreEqual(1, ((Bundle)result.Resource).Entry.Count); }
public async Task TestSearchByTagReturnsRightResource() { var searchRepository = new InMemorySearchRepository(); await searchRepository.AddResourceAsync(FhirResourceProvider.Observation); await searchRepository.AddResourceAsync(new Observation { Id = "4354363", Subject = new ResourceReference("did:iota:765658556"), Meta = new Meta { Tag = new List <Coding> { new Coding("Test", "Unit") } } }); var interactor = new SearchResourcesInteractor(new InMemoryFhirRepository(), searchRepository); var result = await interactor.ExecuteAsync(new SearchResourcesRequest { ResourceType = "Observation", Parameters = "_tag=Test|" }); Assert.AreEqual(1, ((Bundle)result.Resource).Entry.Count); Assert.AreEqual("4354363", ((Bundle)result.Resource).Entry.First().Resource.Id); }
public async Task TestResourceCanBeImportedAndIsAddedToSearch() { var fhirRepository = new InMemoryFhirRepository(); var resourceTracker = new InMemoryResourceTracker(); var searchRepository = new InMemorySearchRepository(); var resourceImporter = new ResourceImporter(searchRepository, fhirRepository, new RandomSeedManager(resourceTracker)); var rootHash = Seed.Random().Value; var patient = FhirResourceProvider.Patient; patient.Id = rootHash.Substring(0, 64); fhirRepository.Resources.Add(patient); await resourceImporter.ImportResourceAccessAsync(rootHash, Seed.Random().Value); Assert.IsNotNull(await resourceTracker.GetEntryAsync(rootHash)); Assert.AreEqual(1, (await searchRepository.FindResourcesByTypeAsync("Patient")).Count); }