Exemplo n.º 1
0
        public void Controller_ExpenseReports_GetById_ReturnsNotFound()
        {
            // Arrange
            int id = 3;
            List<ExpenseReportModel> expenseReports = new List<ExpenseReportModel>()
            {
                new ExpenseReportModel(){ Id = 1 },
                new ExpenseReportModel(){ Id = 2 }
            };
            var mockQueryService = new Mock<IExpenseReportQueryService>();
            mockQueryService
                .Setup(x => x.GetExpenseReportById(id))
                .Returns(expenseReports.FirstOrDefault(x => x.Id == id));
            var mockEntryService = new Mock<IExpenseReportEntryService>();

            // Act
            ExpenseReportsController controller = new ExpenseReportsController(mockQueryService.Object, mockEntryService.Object);
            try
            {
                var result = controller.GetById(id);
            }
            catch (HttpResponseException ex)
            {
                // Assert
                Assert.AreEqual(ex.Response.StatusCode, HttpStatusCode.NotFound);
                throw;
            }
        }
Exemplo n.º 2
0
        public void Controller_ExpenseReports_Get_ReturnsAll()
        {
            // Arrange
            List<ExpenseReportModel> expenseReports = new List<ExpenseReportModel>()
            {
                new ExpenseReportModel(){ Id = 1 },
                new ExpenseReportModel(){ Id = 2 }
            };
            var mockQueryService = new Mock<IExpenseReportQueryService>();
            mockQueryService
                .Setup(x => x.GetExpenseReports())
                .Returns(expenseReports);
            var mockEntryService = new Mock<IExpenseReportEntryService>();

            // Act
            ExpenseReportsController controller = new ExpenseReportsController(mockQueryService.Object, mockEntryService.Object);
            var result = controller.Get();

            // Assert
            Assert.AreEqual(2, result.Count());
        }
Exemplo n.º 3
0
        public void Controller_ExpenseReports_GetById_ReturnsSingle()
        {
            // Arrange
            int id = 1;
            List<ExpenseReportModel> expenseReports = new List<ExpenseReportModel>()
            {
                new ExpenseReportModel(){ Id = 1 },
                new ExpenseReportModel(){ Id = 2 }
            };
            var mockQueryService = new Mock<IExpenseReportQueryService>();
            mockQueryService
                .Setup(x => x.GetExpenseReportById(id))
                .Returns(expenseReports.FirstOrDefault(x => x.Id == id));
            var mockEntryService = new Mock<IExpenseReportEntryService>();

            // Act
            ExpenseReportsController controller = new ExpenseReportsController(mockQueryService.Object, mockEntryService.Object);
            var result = controller.GetById(id);

            // Assert
            Assert.AreEqual(id, result.Id);
        }
Exemplo n.º 4
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);
        }