public async Task Then_Postcodes_Are_Added_To_The_Providers_That_Are_Registered_And_Lat_Lon_Updated( List <Domain.Entities.Provider> providerEntities, string expectedPostcode, PostcodeLookup postcodeLookup, List <ContactDetail> contactDetails, [Frozen] Mock <IRoatpApiService> roatpApiService, [Frozen] Mock <IProviderRepository> providerRepository, [Frozen] Mock <IProviderRegistrationRepository> providerRegistrationRepository, [Frozen] Mock <IProviderRegistrationImportRepository> providerRegistrationImportRepository, [Frozen] Mock <IPostcodeApiService> postcodeApiService, ProviderRegistrationAddressImportService service) { //Arrange contactDetails = contactDetails.Select(c => { c.ContactType = "P"; c.ContactAddress.PostCode = expectedPostcode; return(c); }).ToList(); postcodeLookup.Result = postcodeLookup.Result.Select(c => { c.Query = expectedPostcode; c.Result.Postcode = expectedPostcode; return(c); }).ToList(); var providerRegistrationLookup = new ProviderRegistrationLookup { Results = new List <ProviderResult>() }; foreach (var provider in providerEntities) { providerRegistrationLookup.Results.Add(new ProviderResult { Ukprn = provider.Ukprn, ContactDetails = contactDetails }); } providerRepository.Setup(x => x.GetAllRegistered()).ReturnsAsync(providerEntities); roatpApiService .Setup(x => x.GetProviderRegistrationLookupData(It.IsAny <List <int> >())) .ReturnsAsync(providerRegistrationLookup); postcodeApiService.Setup(x => x.GetPostcodeData(It.Is <PostcodeLookupRequest>(c => c.Postcodes.TrueForAll(y => y.Equals(expectedPostcode))))) .ReturnsAsync(postcodeLookup); //Act await service.ImportAddressData(); //Assert foreach (var provider in providerRegistrationLookup.Results) { providerRegistrationImportRepository.Verify(x => x.UpdateAddress(provider.Ukprn, It.Is <ContactAddress>(c => c.PostCode == expectedPostcode), It.IsAny <double>(), It.IsAny <double>()), Times.Once()); } providerRegistrationRepository.Verify(x => x.UpdateAddressesFromImportTable(), Times.Once); }
public async Task Then_The_Audit_Record_Is_Updated( List <Domain.Entities.Provider> providerEntities, string expectedPostcode, PostcodeLookup postcodeLookup, List <ContactDetail> contactDetails, [Frozen] Mock <IRoatpApiService> roatpApiService, [Frozen] Mock <IProviderRepository> providerRepository, [Frozen] Mock <IProviderImportRepository> providerImportRepository, [Frozen] Mock <IPostcodeApiService> postcodeApiService, [Frozen] Mock <IImportAuditRepository> importAuditRepository, ProviderRegistrationAddressImportService service) { //Arrange contactDetails = contactDetails.Select(c => { c.ContactType = "P"; c.ContactAddress.PostCode = expectedPostcode; return(c); }).ToList(); postcodeLookup.Result = postcodeLookup.Result.Select(c => { c.Query = expectedPostcode; c.Result.Postcode = expectedPostcode; return(c); }).ToList(); var providerRegistrationLookup = new ProviderRegistrationLookup { Results = new List <ProviderResult>() }; foreach (var provider in providerEntities) { providerRegistrationLookup.Results.Add(new ProviderResult { Ukprn = provider.Ukprn, ContactDetails = contactDetails }); } providerRepository.Setup(x => x.GetAllRegistered()).ReturnsAsync(providerEntities); roatpApiService .Setup(x => x.GetProviderRegistrationLookupData(It.IsAny <List <int> >())) .ReturnsAsync(providerRegistrationLookup); postcodeApiService.Setup(x => x.GetPostcodeData(It.Is <PostcodeLookupRequest>(c => c.Postcodes.TrueForAll(y => y.Equals(expectedPostcode))))) .ReturnsAsync(postcodeLookup); //Act await service.ImportAddressData(); //Assert importAuditRepository.Verify(x => x.Insert( It.Is <ImportAudit>(c => c.ImportType.Equals(ImportType.ProviderAddressData) && c.RowsImported.Equals(providerEntities.Count))), Times.Once); }
public ActionResult <PostcodeLookup.PostcodeData> Get(string postcode) { var data = PostcodeLookup.GetByPostcode(postcode); if (data != null) { return(data); } return(NotFound(postcode)); }
/// <summary> /// Example arguments: "ME10 3"; First argmument is a string from the sample dataset; /// </summary> /// <param name="args"></param> static void Main(string[] args) { PostcodeLookup postcodeLookup = new PostcodeLookup(); for (int i = 0; i < args.Length; i++) { switch (i) { case 0: foreach (string s in postcodeLookup.GetValidDeliveryOptions(args[i])) { Console.WriteLine(s); } break; } } }
public void GetValidDeliveryOptionsTest_Unavailable_AreEqual() { string sInput = "SM5 1RT"; string[] sOutput = new string[] { "All others", "Delivery by Courier" }; Mock <IPostcodeLookup> _mock = new Mock <IPostcodeLookup>(); _mock.Setup(m => m.GetValidDeliveryOptions(sInput)).Returns(() => sOutput); PostcodeLookup postcodeLookup = new PostcodeLookup(_mock.Object); string[] sTest = postcodeLookup.GetValidDeliveryOptions(sInput); //Assert.AreEqual(sOutput, sTest); CollectionAssert.AreEqual(sOutput, sTest); }
public void GetValidDeliveryOptionsTest_Available_AreEqual() { string sInput = "ME10 3"; string[] sOutput = new string[] { "ME10 3", "Collect from Kitchen, Delivery from Sittingbourne" }; Mock <IPostcodeLookup> _mock = new Mock <IPostcodeLookup>(); _mock.Setup(m => m.GetValidDeliveryOptions(sInput)).Returns(() => sOutput); PostcodeLookup postcodeLookup = new PostcodeLookup(_mock.Object); string[] sTest = postcodeLookup.GetValidDeliveryOptions(sInput); //Assert.AreEqual(sOutput, sTest); CollectionAssert.AreEqual(sOutput, sTest); }
public ActionResult <PostcodeLookup.PostcodeData> Get() { var data = PostcodeLookup.GetByPostcode("Test"); return(data); }