public async Task PutExpenses_ShouldReturnBadRequestWhenObjectIsNull() { // Arrange expectedIdOfExpense = 1; var controller = new ExpenseController(null, null); // Act var objectResult = await controller.Edit(expectedIdOfExpense, null) as ObjectResult; // Assert Assert.AreEqual(400, objectResult.StatusCode, "Expense StatusCode400 does not works. Method put. Object cannot be empty"); }
public void ExpenseService_ShouldCallUpdateExpenseOnce_WhenEditPostIsCalled() { // Arrange var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object); // Act expenseController.Edit(new ExpenseViewModel() { Category = new Guid().ToString() }); // Assert expenseServiceMock.Verify(x => x.UpdateExpense(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <decimal>(), It.IsAny <DateTime>(), It.IsAny <string>()), Times.Once); }
public void ExpenseService_ShouldCallGetExpenseCategoriesOnce_WhenEditGetIsCalled() { // Arrange var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object); var expense = new Expense("_", new Guid(), "_", new Guid(), 1M, DateTime.Now, DateTime.Now); this.expenseServiceMock.Setup(x => x.GetExpense(It.IsAny <Guid>())).Returns(expense); this.mappingServiceMock.Setup(x => x.Map <ExpenseViewModel>(It.IsAny <object>())).Returns(new ExpenseViewModel()); // Act expenseController.Edit(new Guid().ToString()); // Assert expenseServiceMock.Verify(x => x.GetExpenseCategories(), Times.Once); }
public async Task PutExpenses_ShouldReturnStatusCode204WhenObjectIsUpdated() { // Arrange mockExpenseService.Setup(repo => repo.EditExpense(It.IsAny <Models.Expense>(), It.IsAny <int>())).Returns(Task.FromResult(true)); var controller = new ExpenseController(mockExpenseService.Object, mockLogger.Object); expectedIdOfExpense = 1; // Act var noContentResult = await controller.Edit(expectedIdOfExpense, expenseModelObj) as NoContentResult; // Assert Assert.AreEqual(204, noContentResult.StatusCode, "Expense method put. Object was not updated."); }