Exemple #1
0
        public async Task HappyPath()
        {
            GetNumberOfAddressesPerPostcodeInBoundaryRequest req = new GetNumberOfAddressesPerPostcodeInBoundaryRequest()
            {
                SwLatitude  = 1,
                SwLongitude = 2,
                NeLatitude  = 3,
                NeLongitude = 4
            };

            GetNumberOfAddressesPerPostcodeInBoundary GetNumberOfAddressesPerPostcodeInBoundary = new GetNumberOfAddressesPerPostcodeInBoundary(_mediator.Object, _logger.Object);
            IActionResult result = await GetNumberOfAddressesPerPostcodeInBoundary.Run(req, CancellationToken.None);

            OkObjectResult objectResult = result as OkObjectResult;

            Assert.IsNotNull(objectResult);
            Assert.AreEqual(200, objectResult.StatusCode);

            ResponseWrapper <GetNumberOfAddressesPerPostcodeInBoundaryResponse, AddressServiceErrorCode> deserialisedResponse = objectResult.Value as ResponseWrapper <GetNumberOfAddressesPerPostcodeInBoundaryResponse, AddressServiceErrorCode>;

            Assert.IsNotNull(deserialisedResponse);

            Assert.IsTrue(deserialisedResponse.HasContent);
            Assert.IsTrue(deserialisedResponse.IsSuccessful);
            Assert.AreEqual(0, deserialisedResponse.Errors.Count());
            Assert.AreEqual("NG1 1AA", deserialisedResponse.Content.PostcodesWithNumberOfAddresses.FirstOrDefault().Postcode);

            _mediator.Verify(x => x.Send(It.IsAny <GetNumberOfAddressesPerPostcodeInBoundaryRequest>(), It.IsAny <CancellationToken>()));
        }
Exemple #2
0
        public async Task ErrorThrown()
        {
            _mediator.Setup(x => x.Send(It.IsAny <GetNumberOfAddressesPerPostcodeInBoundaryRequest>(), It.IsAny <CancellationToken>())).Throws <Exception>();
            GetNumberOfAddressesPerPostcodeInBoundaryRequest req = new GetNumberOfAddressesPerPostcodeInBoundaryRequest()
            {
                SwLatitude  = 1,
                SwLongitude = 2,
                NeLatitude  = 3,
                NeLongitude = 4
            };

            GetNumberOfAddressesPerPostcodeInBoundary GetNumberOfAddressesPerPostcodeInBoundary = new GetNumberOfAddressesPerPostcodeInBoundary(_mediator.Object, _logger.Object);
            IActionResult result = await GetNumberOfAddressesPerPostcodeInBoundary.Run(req, CancellationToken.None);

            ObjectResult objectResult = result as ObjectResult;

            Assert.IsNotNull(objectResult);

            ResponseWrapper <GetNumberOfAddressesPerPostcodeInBoundaryResponse, AddressServiceErrorCode> deserialisedResponse = objectResult.Value as ResponseWrapper <GetNumberOfAddressesPerPostcodeInBoundaryResponse, AddressServiceErrorCode>;

            Assert.IsNotNull(deserialisedResponse);
            Assert.AreEqual(500, objectResult.StatusCode);;


            Assert.IsFalse(deserialisedResponse.HasContent);
            Assert.IsFalse(deserialisedResponse.IsSuccessful);
            Assert.AreEqual(1, deserialisedResponse.Errors.Count());
            Assert.AreEqual(AddressServiceErrorCode.UnhandledError, deserialisedResponse.Errors[0].ErrorCode);

            _mediator.Verify(x => x.Send(It.IsAny <GetNumberOfAddressesPerPostcodeInBoundaryRequest>(), It.IsAny <CancellationToken>()));

            _logger.Verify(x => x.LogError(It.Is <string>(y => y.Contains("Unhandled error in GetNumberOfAddressesPerPostcodeInBoundary")), It.IsAny <Exception>()));
        }
Exemple #3
0
        public async Task ValidationFails()
        {
            _mediator.Setup(x => x.Send(It.IsAny <GetNumberOfAddressesPerPostcodeInBoundaryRequest>(), It.IsAny <CancellationToken>())).Throws <Exception>();

            GetNumberOfAddressesPerPostcodeInBoundaryRequest req = new GetNumberOfAddressesPerPostcodeInBoundaryRequest()
            {
                SwLatitude  = 999, // invalid
                SwLongitude = 2,
                NeLatitude  = 3,
                NeLongitude = 4
            };

            GetNumberOfAddressesPerPostcodeInBoundary GetNumberOfAddressesPerPostcodeInBoundary = new GetNumberOfAddressesPerPostcodeInBoundary(_mediator.Object, _logger.Object);

            IActionResult result = await GetNumberOfAddressesPerPostcodeInBoundary.Run(req, CancellationToken.None);

            ObjectResult objectResult = result as ObjectResult;

            Assert.IsNotNull(objectResult);

            ResponseWrapper <GetNumberOfAddressesPerPostcodeInBoundaryResponse, AddressServiceErrorCode> deserialisedResponse = objectResult.Value as ResponseWrapper <GetNumberOfAddressesPerPostcodeInBoundaryResponse, AddressServiceErrorCode>;

            Assert.IsNotNull(deserialisedResponse);
            Assert.AreEqual(422, objectResult.StatusCode);;


            Assert.IsFalse(deserialisedResponse.HasContent);
            Assert.IsFalse(deserialisedResponse.IsSuccessful);
            Assert.AreEqual(1, deserialisedResponse.Errors.Count());
            Assert.AreEqual(AddressServiceErrorCode.ValidationError, deserialisedResponse.Errors[0].ErrorCode);

            _mediator.Verify(x => x.Send(It.IsAny <GetNumberOfAddressesPerPostcodeInBoundaryRequest>(), It.IsAny <CancellationToken>()), Times.Never);
        }