public void TestTransformAffiliationsFirstProviderTypeFacility() { VitalsProviderSearch sourceData = new VitalsProviderSearch { providers = new List <Provider> { new Provider() } }; sourceData.providers[0].type = "F"; sourceData.providers[0].locations = new List <Location> { new Location() }; sourceData.providers[0].locations[0].contracts = new List <Contract> { new Contract() }; sourceData.providers[0].locations[0].contracts[0].hospital_affiliations = new List <HospitalAffiliation> { new HospitalAffiliation() { name = "foo" } }; ProviderSearchResults result = Mapper.Transform(sourceData); result.providers[0].affiliations[0].Should().Be("foo"); }
public void TestTransformEmptyAddressForFirstProviderTypeP() { VitalsProviderSearch sourceData = new VitalsProviderSearch(); sourceData.providers = new List <Provider> { new Provider() }; sourceData.providers[0].type = "P"; ProviderSearchResults result = Mapper.Transform(sourceData); result.providers[0].address.Should().BeNull(); }
public void TestTransformAddressForFirstProviderTypeP() { VitalsProviderSearch sourceData = new VitalsProviderSearch(); sourceData.providers = new List <Provider> { new Provider() }; sourceData.providers[0].type = "P"; sourceData.providers[0].locations = new List <Location> { new Location(), new Location(), new Location() }; sourceData.providers[0].locations[0].address = new Address() { addr_line1 = "123 main st" }; ProviderSearchResults result = Mapper.Transform(sourceData); result.providers[0].address.addr_line1.Should().Be("123 main st"); }
public void TestTransformLanguagesForFirstProvider() { VitalsProviderSearch sourceData = new VitalsProviderSearch { providers = new List <Provider> { new Provider() } }; sourceData.providers[0].languages = new List <Language> { new Language { name = "Esperanto" }, new Language { name = "Catalan" } }; ProviderSearchResults result = Mapper.Transform(sourceData); result.providers[0].languages[0].Should().Be("Esperanto"); result.providers[0].languages[1].Should().Be("Catalan"); }
public void TestTransformEmptyVitalsSearch() { VitalsProviderSearch sourceData = new VitalsProviderSearch(); ProviderSearchResults result = Mapper.Transform(sourceData); }
public void ShouldDeserializeProviderResultsFromVitals() { string jsonRaw = File.ReadAllText(@"..\..\Refactor - Mapper\testData.json"); VitalsProviderSearch vitalsProviderSearch = JsonConvert.DeserializeObject <VitalsProviderSearch>(jsonRaw); ProviderSearchResults result = Mapper.Transform(vitalsProviderSearch); }
public void ShouldNotThrowGivenEmptyJsonString() { VitalsProviderSearch vitalsProviderSearch = JsonConvert.DeserializeObject <VitalsProviderSearch>(""); ProviderSearchResults result = Mapper.Transform(vitalsProviderSearch); }
public void TestSetup() { _sourceData = JsonConvert.DeserializeObject <VitalsProviderSearch>(ProviderNameSearchVitalsJson); }
public static ProviderSearchResults Transform(VitalsProviderSearch sourceData) { ProviderSearchResults newResult = new ProviderSearchResults(); if (sourceData?._meta?.pages != null) { newResult.pages.total = sourceData._meta.pages.total; newResult.pages.current = sourceData._meta.pages.current; } if (sourceData?.providers == null) { return(newResult); } foreach (var sourceProvider in sourceData.providers) { MapperRefactor.DataBags.Results.Address sourceProviderFirstLocationAddress = null; string phoneNumber = null; if (sourceProvider.locations != null && sourceProvider.locations.Count > 0) { sourceProviderFirstLocationAddress = new MapperRefactor.DataBags.Results.Address(); sourceProviderFirstLocationAddress.addr_line1 = sourceProvider.locations[0].address?.addr_line1; sourceProviderFirstLocationAddress.addr_line2 = sourceProvider.locations[0].address?.addr_line2; sourceProviderFirstLocationAddress.city = sourceProvider.locations[0].address?.city; sourceProviderFirstLocationAddress.state_code = sourceProvider.locations[0].address?.state_code; sourceProviderFirstLocationAddress.sub_national = sourceProvider.locations[0].address?.sub_national; sourceProviderFirstLocationAddress.county = sourceProvider.locations[0].address?.county; sourceProviderFirstLocationAddress.country_code = sourceProvider.locations[0].address?.country_code; sourceProviderFirstLocationAddress.postal_code = sourceProvider.locations[0].address?.postal_code; sourceProviderFirstLocationAddress.latitude = sourceProvider.locations[0].address?.latitude; sourceProviderFirstLocationAddress.longitude = sourceProvider.locations[0].address?.longitude; phoneNumber = sourceProvider.locations?[0]?.phones?.voice?[0]?.number; } var provider = new MapperRefactor.DataBags.Results.Provider(); provider.id = sourceProvider.id; provider.name = sourceProvider.name; provider.gender = sourceProvider.gender; provider.degrees = new List <string>(); provider.languages = new List <string>(); provider.address = sourceProviderFirstLocationAddress; provider.phone_number = phoneNumber; provider.affiliations = new List <string>(); provider.specialties = new List <string>(); provider.awards = new List <string>(); if (sourceProvider.degrees != null) { foreach (var degree in sourceProvider.degrees) { provider.degrees.Add(degree); } } if (sourceProvider.languages != null) { foreach (var lang in sourceProvider.languages) { provider.languages.Add(lang.name); } } if (sourceProvider.locations != null) { Location location = sourceProvider.locations.FirstOrDefault(); if (location?.contracts != null && location.contracts.Count > 0 && location.contracts[0].hospital_affiliations != null) { foreach (var affiliation in location.contracts[0].hospital_affiliations) { provider.affiliations.Add(affiliation.name); } } if (sourceProvider.type == "F") { if (location != null) { if (location.contracts?[0].specializations != null) { foreach (var specialization in location.contracts[0].specializations) { if (specialization.field_specialty != null) { provider.specialties.Add(specialization.field_specialty.name); } } } if (sourceProvider.bdc?.bdtc != null) { foreach (var award in location.bdc.bdtc) { if (award != null) { provider.awards.Add(award.name); } } } } } } if (sourceProvider.type == "P") { if (sourceProvider.specializations != null) { foreach (var specialization in sourceProvider.specializations) { if (specialization.field_specialty != null) { provider.specialties.Add(specialization.field_specialty.name); } } } if (sourceProvider.bdc?.bdtc != null) { foreach (var award in sourceProvider.bdc.bdtc) { if (award != null) { provider.awards.Add(award.name); } } } } newResult.providers.Add(provider); } return(newResult); }