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));
        }
Esempio n. 3
0
        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);
        }