示例#1
0
        public async Task get_property_details_by_reference()
        {
            var mockLogger = new Mock <ILoggerAdapter <PropertyActions> >();
            var request    = new ByPropertyRefRequest();
            var response   = new PropertyGetResponse()
            {
                Success  = true,
                Property = new PropertyDto()
                {
                    ShortAddress  = "Front Office, Robert House, 6 - 15 Florfield Road",
                    PostCodeValue = "E8 1DT",
                    Reference     = "43453543"
                }
            };

            var fakeService = new Mock <IHackneyPropertyService>();

            fakeService.Setup(service => service.GetPropertyByRefAsync(request))
            .ReturnsAsync(response);
            var fakeRequestBuilder = new Mock <IHackneyPropertyServiceRequestBuilder>();

            fakeRequestBuilder.Setup(service => service.BuildByPropertyRefRequest("43453543")).Returns(request);
            PropertyActions propertyActions = new PropertyActions(fakeService.Object, fakeRequestBuilder.Object, mockLogger.Object);
            var             results         = await propertyActions.FindPropertyDetailsByRef("43453543");

            var property = new
            {
                address           = "Front Office, Robert House, 6 - 15 Florfield Road",
                postcode          = "E8 1DT",
                propertyReference = "43453543",
                maintainable      = false
            };

            Assert.Equal(property, results);
        }
示例#2
0
        public Task <PropertyGetResponse> GetPropertyByRefAsync(ByPropertyRefRequest request)
        {
            _logger.LogInformation($"HackneyPropertyService/GetPropertyByRefAsync(): Sent request to upstream PropertyServiceClient (Property reference: {request.PropertyReference})");
            var response = _client.GetPropertyByRefAsync(request);

            _logger.LogInformation($"HackneyPropertyService/GetPropertyByRefAsync(): Received response from upstream PropertyServiceClient (Property reference: {request.PropertyReference})");
            return(response);
        }
示例#3
0
        public async Task get_property_details_by_reference_raises_an_exception_if_the_service_responds_with_an_error()
        {
            var mockLogger = new Mock <ILoggerAdapter <PropertyActions> >();
            var request    = new ByPropertyRefRequest();
            var response   = new PropertyGetResponse {
                Success = false, Property = new PropertyDto()
            };
            var fakeService = new Mock <IHackneyPropertyService>();

            fakeService.Setup(service => service.GetPropertyByRefAsync(It.IsAny <ByPropertyRefRequest>()))
            .ReturnsAsync(response);

            var fakeRequestBuilder = new Mock <IHackneyPropertyServiceRequestBuilder>();

            fakeRequestBuilder.Setup(service => service.BuildByPropertyRefRequest("525252525")).Returns(request);
            PropertyActions propertyActions = new PropertyActions(fakeService.Object, fakeRequestBuilder.Object, mockLogger.Object);
            await Assert.ThrowsAsync <HackneyRepairs.Actions.PropertyServiceException>(async() => await propertyActions.FindPropertyDetailsByRef("525252525"));
        }
示例#4
0
        public Task <PropertyGetResponse> GetPropertyByRefAsync(ByPropertyRefRequest request)
        {
            switch (request.PropertyReference)
            {
            case "525252525":
                return(Task.Run(() => new PropertyGetResponse()
                {
                    Property = new PropertyDto
                    {
                        ShortAddress = "Back Office, Robert House, 6 - 15 Florfield Road    ",
                        PostCodeValue = "E8 1DT",
                        Reference = "525252525"
                    },
                    Success = true
                }));

            case "425252525":
                return(Task.Run(() => new PropertyGetResponse()
                {
                    Property = null,
                    Success = false,
                }));

            case "42525252512":
                return(Task.Run(() => new PropertyGetResponse()
                {
                    Property = null,
                    Success = true,
                }));

            default:
                var response = new PropertyGetResponse()
                {
                    Property = new PropertyDto(),
                    Success  = true
                };
                return(Task.Run(() => response));
            }
        }