public async Task find_properties_returns_an_empty_response_when_no_matches() { var mockLogger = new Mock <ILoggerAdapter <PropertyActions> >(); var request = new ListByPostCodeRequest(); var response = new PropertyInfoResponse() { PropertyList = new PropertySummary[0], Success = true }; var fakeService = new Mock <IHackneyPropertyService>(); fakeService.Setup(service => service.GetPropertyListByPostCodeAsync(It.IsAny <ListByPostCodeRequest>())) .ReturnsAsync(response); var fakeRequestBuilder = new Mock <IHackneyPropertyServiceRequestBuilder>(); fakeRequestBuilder.Setup(service => service.BuildListByPostCodeRequest("E8 2LN")).Returns(request); PropertyActions propertyActions = new PropertyActions(fakeService.Object, fakeRequestBuilder.Object, mockLogger.Object); var results = await propertyActions.FindProperty("E8 2LN"); var properties = new object[0]; var json = new { results = properties }; Assert.Equal(JsonConvert.SerializeObject(json), JsonConvert.SerializeObject(results)); }
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); }
private void addPropertyBtn_Click(object sender, EventArgs e) { PropertyActions propertyOP = new PropertyActions(); propertyOP.Text = "Create"; propertyOP.ShowDialog(); GetPropertyData(); }
public async Task find_properties_returns_a_list_of_properties() { var mockLogger = new Mock <ILoggerAdapter <PropertyActions> >(); var request = new ListByPostCodeRequest(); var response = new PropertyInfoResponse() { PropertyList = new PropertySummary[2], Success = true }; var property1 = new PropertySummary() { ShortAddress = "Front Office, Robert House, 6 - 15 Florfield Road", PostCodeValue = "E8 1DT", PropertyReference = "1/43453543" }; var property2 = new PropertySummary() { ShortAddress = "Maurice Bishop House, 17 Reading Lane", PostCodeValue = "E8 1DT", PropertyReference = "2/32453245" }; response.PropertyList[0] = property1; response.PropertyList[1] = property2; var fakeService = new Mock <IHackneyPropertyService>(); fakeService.Setup(service => service.GetPropertyListByPostCodeAsync(request)) .ReturnsAsync(response); var fakeRequestBuilder = new Mock <IHackneyPropertyServiceRequestBuilder>(); fakeRequestBuilder.Setup(service => service.BuildListByPostCodeRequest("E8 1DT")).Returns(request); PropertyActions propertyActions = new PropertyActions(fakeService.Object, fakeRequestBuilder.Object, mockLogger.Object); var results = await propertyActions.FindProperty("E8 1DT"); var outputproperty1 = new { address = "Front Office, Robert House, 6 - 15 Florfield Road", postcode = "E8 1DT", propertyReference = "1/43453543" }; var outputproperty2 = new { address = "Maurice Bishop House, 17 Reading Lane", postcode = "E8 1DT", propertyReference = "2/32453245" }; var properties = new object[2]; properties[0] = outputproperty1; properties[1] = outputproperty2; var json = new { results = properties }; Assert.Equal(JsonConvert.SerializeObject(json), JsonConvert.SerializeObject(results)); }
private void editPropertyBtn_Click(object sender, EventArgs e) { try { int propNum = Convert.ToInt32(propertyGridView.SelectedRows[0].Cells[0].Value.ToString()); PropertyActions propertyOP = new PropertyActions(); propertyOP.Text = "Edit"; propertyOP.EditProperty(propNum); propertyOP.ShowDialog(); GetPropertyData(); } catch {} }
public async Task find_properties_raises_an_exception_if_the_property_list_is_missing() { var mockLogger = new Mock <ILoggerAdapter <PropertyActions> >(); var request = new ListByPostCodeRequest(); var response = new PropertyInfoResponse { Success = true }; var fakeService = new Mock <IHackneyPropertyService>(); fakeService.Setup(service => service.GetPropertyListByPostCodeAsync(It.IsAny <ListByPostCodeRequest>())) .ReturnsAsync(response); var fakeRequestBuilder = new Mock <IHackneyPropertyServiceRequestBuilder>(); fakeRequestBuilder.Setup(service => service.BuildListByPostCodeRequest("E8 2LN")).Returns(request); PropertyActions propertyActions = new PropertyActions(fakeService.Object, fakeRequestBuilder.Object, mockLogger.Object); await Assert.ThrowsAsync <HackneyRepairs.Actions.MissingPropertyListException>(async() => await propertyActions.FindProperty("E8 2LN")); }
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")); }
public async Task <JsonResult> Get([FromQuery] string postcode) { try { if (_postcodeValidator.Validate(postcode)) { PropertyActions actions = new PropertyActions(_propertyService, _propertyServiceRequestBuilder, _loggerAdapter); var json = Json(await actions.FindProperty(postcode)); json.StatusCode = 200; json.ContentType = "application/json"; return(json); } else { var errors = new List <ApiErrorMessage> { new ApiErrorMessage { developerMessage = "Invalid parameter - postcode", userMessage = "Please provide a valid post code" } }; var json = Json(errors); json.StatusCode = 400; return(json); } } catch (Exception e) { var errors = new List <ApiErrorMessage> { new ApiErrorMessage { developerMessage = e.Message, userMessage = "We had some problems processing your request" } }; var json = Json(errors); json.StatusCode = 500; return(json); } }
public async Task <JsonResult> GetByReference(string reference) { try { PropertyActions actions = new PropertyActions(_propertyService, _propertyServiceRequestBuilder, _loggerAdapter); var json = Json(await actions.FindPropertyDetailsByRef(reference)); json.StatusCode = 200; json.ContentType = "application/json"; return(json); } catch (MissingPropertyException ex) { var errors = new List <ApiErrorMessage>() { new ApiErrorMessage { developerMessage = ex.Message, userMessage = "Resource identification error" } }; var jsonResponse = Json(errors); jsonResponse.StatusCode = 404; return(jsonResponse); } catch (Exception e) { var errors = new List <ApiErrorMessage>() { new ApiErrorMessage { developerMessage = e.Message, userMessage = "Internal Error" } }; var jsonResponse = Json(errors); jsonResponse.StatusCode = 500; return(jsonResponse); } }
public async Task Logs_information_When_Calling_PropertyActions_FindProperty() { var response = new PropertyInfoResponse() { PropertyList = new PropertySummary[2], Success = true }; var property1 = new PropertySummary() { ShortAddress = "Front Office, Robert House, 6 - 15 Florfield Road", PostCodeValue = "E8 1DT", PropertyReference = "1/43453543" }; var property2 = new PropertySummary() { ShortAddress = "Maurice Bishop House, 17 Reading Lane", PostCodeValue = "E8 1DT", PropertyReference = "2/32453245" }; response.PropertyList[0] = property1; response.PropertyList[1] = property2; var mockLogger = new Mock <ILoggerAdapter <PropertyActions> >(); var fakeService = new Mock <IHackneyPropertyService>(); fakeService.Setup(service => service.GetPropertyListByPostCodeAsync(It.IsAny <ListByPostCodeRequest>())) .ReturnsAsync(response); var fakeRequestBuilder = new Mock <IHackneyPropertyServiceRequestBuilder>(); fakeRequestBuilder.Setup(service => service.BuildListByPostCodeRequest("E8 1DT")).Returns(new ListByPostCodeRequest()); PropertyActions propertyActions = new PropertyActions(fakeService.Object, fakeRequestBuilder.Object, mockLogger.Object); var result = await propertyActions.FindProperty("E8 1DT"); mockLogger.Verify(l => l.LogInformation(It.IsAny <string>())); }