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; } }
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()); }
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); }
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); }