public void given_an_unexpected_exception_thrown_when_GetProcessData_controller_method_is_called_then_controller_returns_correct_error_message() { //arrange string expectedErrorMessage = "An error has occured while processing the request - "; var randomExpectedError = ErrorThrowerHelper.GenerateError(); try // throw random error { throw randomExpectedError; } catch (Exception ex) //catch the expected error message { expectedErrorMessage += (ex.Message + " " + ex.InnerException); } _mockUsecase.Setup(x => x.ExecuteGet(It.IsAny <GetProcessDataRequest>())).Throws(randomExpectedError); _mockValidatorGet.Setup(x => x.Validate(It.IsAny <GetProcessDataRequest>())).Returns(new FV.ValidationResult()); //act var controllerResponse = _processDataController.GetProcessData(new GetProcessDataRequest()); var result = controllerResponse as ObjectResult; var resultContent = result.Value as string; //assert Assert.NotNull(controllerResponse); Assert.NotNull(result); Assert.NotNull(resultContent); Assert.AreEqual(expectedErrorMessage, result.Value); }
public void given_an_unexpected_error_would_be_thrown_when_GetProcessImage_controller_method_is_called_then_it_returns_a_correctly_formatted_error_message_that_is_based_of_exception() { //arrange string expectedErrorMessage = "An error has occured while processing the request - "; var randomExpectedError = ErrorThrowerHelper.GenerateError(); try // throw random error { throw randomExpectedError; } catch (Exception ex) //catch the expected error message { expectedErrorMessage += (ex.Message + " " + ex.InnerException); } _mockUsecase.Setup(x => x.ExecuteGet(It.IsAny <GetProcessImageRequest>())).Throws(randomExpectedError); _mockGetValidator.Setup(x => x.Validate(It.IsAny <GetProcessImageRequest>())).Returns(new FV.ValidationResult()); //validation successful //act var controllerResponse = _processImageController.GetProcessImage(new GetProcessImageRequest()); var result = controllerResponse as ObjectResult; var resultContent = result.Value as string; //unwrap the error message from controller response. //assert Assert.NotNull(controllerResponse); Assert.NotNull(result); Assert.NotNull(resultContent); Assert.AreEqual(expectedErrorMessage, result.Value); //assert if the error message matches what controller wrapped up }
public void Given_an_unexpected_exception_is_thrown_in_the_GetByPropRefValidator__When_GetAractionsByPropRef_ArrearsActionController_method_is_called__Then_controller_returns_500_status_code_response() { //Arrange var random_expected_exception = ErrorThrowerHelper.Generate_Error(); _mockGetByPropRefValidator.Setup(v => v.Validate(It.IsAny <GetAractionsByPropRefRequest>())).Throws(random_expected_exception); //Act var response = _controllerUnderTest.GetAractionsByPropRef(null); var response_result = (ObjectResult)response; //Assert Assert.NotNull(response); Assert.NotNull(response_result); Assert.AreEqual(500, response_result.StatusCode); }
public void given_an_unexpected_error_would_be_thrown_when_GetProcessImage_controller_method_is_called_then_it_returns_500_status_code() { //arrange var expectedStatusCode = 500; var randomExpectedError = ErrorThrowerHelper.GenerateError(); _mockUsecase.Setup(x => x.ExecuteGet(It.IsAny <GetProcessImageRequest>())).Throws(randomExpectedError); // throw random test error (triangulation) _mockGetValidator.Setup(x => x.Validate(It.IsAny <GetProcessImageRequest>())).Returns(new FV.ValidationResult()); //validation successful //act var controllerResponse = _processImageController.GetProcessImage(new GetProcessImageRequest()); var result = controllerResponse as ObjectResult; //assert Assert.NotNull(controllerResponse); Assert.NotNull(result); Assert.AreEqual(expectedStatusCode, result.StatusCode); }
public void Given_an_unexpected_exception_is_thrown__When_GetAractionsByPropRef_ArrearsActionController_method_is_called__Then_controller_returns_an_Error_response() { //arrange TestHelper.SetUp_MockValidatorSuccessResponse(_mockGetByPropRefValidator); var random_expected_exception = ErrorThrowerHelper.Generate_Error(); _mockUsecase.Setup(u => u.GetByPropRef(It.IsAny <GetAractionsByPropRefRequest>())).Throws(random_expected_exception); //act var response = _controllerUnderTest.GetAractionsByPropRef(null); var response_result = response as ObjectResult; var response_content = response_result.Value; //assert Assert.NotNull(response); Assert.NotNull(response_result); Assert.IsInstanceOf <ErrorResponse>(response_content); Assert.NotNull(response_content); }
public void given_an_unexpected_exception_thrown_when_GetProcessData_controller_method_is_called_then_controller_returns_500_status_code_response() { //Arrange GetProcessDataRequest request = new GetProcessDataRequest() { processRef = faker.Random.Guid().ToString() }; var randomExpectedError = ErrorThrowerHelper.GenerateError(); _mockUsecase.Setup(x => x.ExecuteGet(It.IsAny <GetProcessDataRequest>())).Throws(randomExpectedError); _mockValidatorGet.Setup(x => x.Validate(It.IsAny <GetProcessDataRequest>())).Returns(new FV.ValidationResult()); //Act var actualResult = _processDataController.GetProcessData(request); var result = (ObjectResult)actualResult; //Assert Assert.NotNull(actualResult); Assert.NotNull(result); Assert.AreEqual(500, result.StatusCode); }
public void Given_a_NotFoundException_exception_is_thrown_within_deeper_flow__When_GetAractionsByPropRef_ArrearsActionController_method_is_called__Then_controller_returns_corresponding_error_message() { //arrange TestHelper.SetUp_MockValidatorSuccessResponse(_mockGetByPropRefValidator); var random_expected_error_message = ErrorThrowerHelper.Generate_Error().Message; var not_found_exception = new NotFoundException(random_expected_error_message); _mockUsecase.Setup(u => u.GetByPropRef(It.IsAny <GetAractionsByPropRefRequest>())).Throws(not_found_exception); //act var response = _controllerUnderTest.GetAractionsByPropRef(null); var response_result = response as ObjectResult; var response_content = response_result.Value as ErrorResponse; //assert Assert.NotNull(response_content); var actual_error_message = response_content.Errors.FirstOrDefault(); Assert.AreEqual(random_expected_error_message, actual_error_message); }
public void Given_a_nested_unexpected_exception_is_thrown__When_GetAractionsByPropRef_ArrearsActionController_method_is_called__Then_controller_returns_corresponding_error_message__And_inner_error_message() { //arrange TestHelper.SetUp_MockValidatorSuccessResponse(_mockGetByPropRefValidator); (Exception random_expected_exception, List <string> expected_error_messages) = ErrorThrowerHelper .Generate_ExceptionAndCorrespondinErrorMessages(ErrorThrowerHelper.ErrorThrowerOptions.InnerErrors); _mockUsecase.Setup(u => u.GetByPropRef(It.IsAny <GetAractionsByPropRefRequest>())).Throws(random_expected_exception); var expected_error_message = expected_error_messages[0]; var expected_inner_error_message = expected_error_messages[1]; //act var response = _controllerUnderTest.GetAractionsByPropRef(null); var response_result = response as ObjectResult; var response_content = response_result.Value as ErrorResponse; //assert Assert.NotNull(response_content); Assert.AreEqual(expected_error_messages.Count, response_content.Errors.Count); Assert.AreEqual(2, response_content.Errors.Count); var actual_error_message = response_content.Errors[0]; var actual_inner_error_message = response_content.Errors[1]; Assert.AreEqual(expected_error_message, actual_error_message); Assert.AreEqual(expected_inner_error_message, actual_inner_error_message); }