Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }