public async Task FriendlyNameGeneratorLogsWarningIfItErrors() { _friendlyNameGenerator.Setup(x => x.GenerateFriendlyName(It.IsAny <PostcodeDto>())).Throws <Exception>(); CancellationToken cancellationToken = new CancellationToken(); QasAddressGetter postcodeAndAddressGetter = new QasAddressGetter(_repository.Object, _qasService.Object, _qasMapper.Object, _friendlyNameGenerator.Object, _logger.Object); var postcodes = new List <string>() { "ng1 6dq" }; var result = await postcodeAndAddressGetter.GetPostCodesAndAddressesFromQasAsync(postcodes, cancellationToken); _logger.Verify(x => x.LogWarning(It.Is <string>(y => y.Contains("Error generating friendly name")), It.IsAny <Exception>())); Assert.AreEqual(1, result.Count()); Assert.AreEqual("NG1 6DQ", result.FirstOrDefault().Postcode); }
public async Task MissingPostCodeIsRetrievedFromQas() { CancellationToken cancellationToken = new CancellationToken(); QasAddressGetter qasAddressGetter = new QasAddressGetter(_repository.Object, _qasService.Object, _qasMapper.Object, _friendlyNameGenerator.Object, _logger.Object); var postcodes = new List <string>() { "ng1 6dq" }; var result = await qasAddressGetter.GetPostCodesAndAddressesFromQasAsync(postcodes, cancellationToken); _repository.Verify(x => x.SaveAddressesAndFriendlyNameAsync(It.IsAny <IEnumerable <PostcodeDto> >()), Times.Once); _qasMapper.Verify(x => x.GetFormatIds(It.IsAny <IEnumerable <QasSearchRootResponse> >()), Times.Once); _qasMapper.Verify(x => x.MapToPostcodeDto(It.IsAny <string>(), It.IsAny <IEnumerable <QasFormatRootResponse> >()), Times.Once); _qasService.Verify(x => x.GetGlobalIntuitiveSearchResponseAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Once); _qasService.Verify(x => x.GetGlobalIntuitiveFormatResponseAsync(It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Once); Assert.AreEqual(1, result.Count()); Assert.AreEqual("NG1 6DQ", result.FirstOrDefault().Postcode); }