private void ResetMocks()
 {
     AddressSearchService.Reset();
     OnspdSearchClient.Reset();
     ProviderSearchClient.Reset();
     BinaryStorageProvider.Reset();
 }
 private void ResetMocks()
 {
     AddressSearchService.Reset();
     BlobServiceClient.Reset();
     ProviderSearchClient.Reset();
     BinaryStorageProvider.Reset();
     LarsSearchClient.Reset();
     LarsSearchSettings.Reset();
 }
        public async Task WhenGetAddressesCalledAndCallFails_ThenReturnNull()
        {
            _restClient.GetAsync <string>(Arg.Any <string>())
            .ReturnsForAnyArgs(string.Empty);

            var service = new AddressSearchService(new OptionsWrapper <AddressSearchServiceSettings>(new AddressSearchServiceSettings()), _restClient);

            var result = await service.GetAddress("test");

            result.Should().BeNull();
        }
        public async Task WhenGetAddressesCalledAndNoAddressesFound_ThenReturnNull()
        {
            _restClient.LastResponse = new RestClient.APIResponse(new HttpResponseMessage())
            {
                IsSuccess = false
            };

            _restClient.GetAsync <IEnumerable <PostalAddressModel> >(Arg.Any <string>())
            .ReturnsForAnyArgs(new List <PostalAddressModel>());

            var service = new AddressSearchService(new OptionsWrapper <AddressSearchServiceSettings>(new AddressSearchServiceSettings()), _restClient);

            var result = await service.GetAddresses("test");

            result.Should().BeNull();
        }
        public async Task WhenGetAddressCalled_ThenCorrectUrlIsGenerated()
        {
            _restClient.GetAsync <IEnumerable <PostalAddressModel> >(Arg.Any <string>())
            .ReturnsForAnyArgs(new List <PostalAddressModel>());

            var service = new AddressSearchService(new OptionsWrapper <AddressSearchServiceSettings>(new AddressSearchServiceSettings
            {
                Key = "1",
                AddressIdentifierPattern = "2",
                FindAddressesBaseUrl     = "3",
                RetrieveAddressBaseUrl   = "4"
            }), _restClient);

            await service.GetAddress("test");

            await _restClient.Received().GetAsync <IEnumerable <PostalAddressModel> >(Arg.Is("4&Key=1&Id=test"));
        }
        public async Task WhenGetAddressesCalled_ThenCorrectUrlIsGenerated()
        {
            _restClient.GetAsync <IEnumerable <PostalAddressModel> >(Arg.Any <string>())
            .ReturnsForAnyArgs(new List <PostalAddressModel>());

            var service = new AddressSearchService(new OptionsWrapper <AddressSearchServiceSettings>(new AddressSearchServiceSettings
            {
                Key = "1",
                AddressIdentifierPattern = "2",
                FindAddressesBaseUrl     = "3",
                RetrieveAddressBaseUrl   = "4"
            }), _restClient);

            await service.GetAddresses("test");

            await _restClient.Received().GetAsync <IEnumerable <PostalAddressModel> >(Arg.Is("3&Key=1&SearchTerm=test&LastId=&SearchFor=PostalCodes&Country=GBR&LanguagePreference=EN&MaxSuggestions=&MaxResults="));
        }
        public async Task WhenGetAddressCalled_ThenReturnResult()
        {
            _restClient.GetAsync <IEnumerable <PostalAddressModel> >(Arg.Any <string>())
            .ReturnsForAnyArgs(new List <PostalAddressModel>
            {
                new PostalAddressModel
                {
                    Id = "test"
                }
            });

            var service = new AddressSearchService(new OptionsWrapper <AddressSearchServiceSettings>(new AddressSearchServiceSettings()), _restClient);

            var result = await service.GetAddress("test");

            result.Should().BeOfType <PostalAddressModel>();
        }
        public async Task WhenGetAddressesCalled_ThenReturnResult()
        {
            var client = Substitute.For <IRestClient>();

            client.GetAsync <IEnumerable <PostalAddressModel> >(Arg.Any <string>())
            .ReturnsForAnyArgs(new List <PostalAddressModel>());

            client.LastResponse = new RestClient.APIResponse(new HttpResponseMessage())
            {
                IsSuccess = true
            };

            var service = new AddressSearchService(new OptionsWrapper <AddressSearchServiceSettings>(new AddressSearchServiceSettings()), client);

            var result = await service.GetAddresses("test");

            result.Should().BeOfType <List <PostalAddressModel> >();
        }
Exemple #9
0
        private static async Task <AddressSearchReference> FindAddress(IRequestFactory requestFactory)
        {
            using (IAddressSearchService searchService = new AddressSearchService(requestFactory))
            {
                Console.WriteLine("Type in the address to search for:");
                var criteria = Console.ReadLine();
                if (string.IsNullOrWhiteSpace(criteria))
                {
                    return(null);
                }

                var searchResult = await searchService.AddressSearchAsync(criteria);

                Console.WriteLine();
                Console.WriteLine("Found {0} matches.", searchResult.matched);
                Console.WriteLine("Displaying the top 10 addresses: ");
                Console.WriteLine();

                var index = 1;
                foreach (var address in searchResult.addresses)
                {
                    Console.WriteLine("{0}: {1}", index, address.a);
                    index += 1;
                }

                Console.WriteLine();
                Console.WriteLine("Type in the address number to retrieve (e.g. 1):");
                var selectedIndex = Convert.ToInt32(Console.ReadLine().Trim().Replace(".", ""));

                if (selectedIndex > searchResult.addresses.Count)
                {
                    Console.WriteLine("A valid index (e.g. 1) must be specified");
                    return(null);
                }
                else
                {
                    return(searchResult.addresses[selectedIndex - 1]);
                }
            }
        }