public List<string> Validate(CreateExpenseReportCommand command) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(command.Title) || command.Title.Contains("Invalid")) { errors.Add("Invalid Title"); } return errors; }
public CreateExpenseReportResult CreateReport(CreateExpenseReportCommand command) { var errors = _validationService.Validate(command); if (errors.Any()) { return new CreateExpenseReportResult(errors); } var report = _data.ExpenseReports.Add(new ExpenseReport() { Title = command.Title }); _data.SaveChanges(); return new CreateExpenseReportResult(_queryService.GetExpenseReportById(report.Id)); }
public void Controller_ExpenseReports_Post_IsSuccessful() { // Arrange int id = 1; CreateExpenseReportCommand command = new CreateExpenseReportCommand() { Title = "New Report" }; ExpenseReportModel report = new ExpenseReportModel() { Id = id, Title = "New Report" }; CreateExpenseReportResult result = new CreateExpenseReportResult(report); var mockQueryService = new Mock<IExpenseReportQueryService>(); var mockEntryService = new Mock<IExpenseReportEntryService>(); mockEntryService .Setup(x => x.CreateReport(command)) .Returns(result); // Act ExpenseReportsController controller = new ExpenseReportsController(mockQueryService.Object, mockEntryService.Object); var postResult = controller.Post(command); // Assert Assert.AreEqual(id, postResult.ExpenseReport.Id); }