public void WhenRequestIsNullReturnsErrorsWithMessages() { var badRequest = new CreateCaseStatusAnswerRequest(); var response = _createCaseStatusAnswerRequestValidator.Validate(badRequest); response.IsValid.Should().BeFalse(); response.Errors.Should().HaveCount(6); response.Errors.Should().Contain(e => e.ErrorMessage == "'caseStatusId' must be provided"); response.Errors.Should().Contain(e => e.ErrorMessage == "'createdBy' must be provided"); response.Errors.Should().Contain(e => e.ErrorMessage == "'answers' must be provided"); response.Errors.Should().Contain(e => e.ErrorMessage == "Provide either one or two answers only"); response.Errors.Should().Contain(e => e.ErrorMessage == "'startDate' must be provided"); response.Errors.Should().Contain(e => e.ErrorMessage == "'startDate' must have a valid value"); }
public IActionResult CreateCaseStatusAnswers(CreateCaseStatusAnswerRequest request) { var validator = new CreateCaseStatusAnswerRequestValidator(); var validationResults = validator.Validate(request); if (!validationResults.IsValid) { return(BadRequest(validationResults.ToString())); } try { _caseStatusesUseCase.ExecutePostCaseStatusAnswer(request); return(CreatedAtAction(nameof(CreateCaseStatusAnswers), "Successfully created case status answers.")); } catch (Exception e) when( e is WorkerNotFoundException || e is CaseStatusDoesNotExistException || e is InvalidCaseStatusTypeException) { return(BadRequest(e.Message)); } }