public async Task ProjectController_DeleteAction_ShouldCallServiceAndRedirect() { var result = await controller.DeleteAsync(1); projectsMock.Verify(p => p.DeleteProjectAsync(1), Times.Once); AssertRedirectToAction(result); AssertNotificationMessage(ProjectsService.Message_Success_ProjectDeleted); }
public async Task TestDeleteAsync_WhenIsProjectValidToCloseReturnExceptionVerifyServiceReturnInternalServerError() { var mockManageProject = new Mock <IManageProject>(); var projectController = new ProjectsController(mockManageProject.Object, fixture.projectControllerLogger); var project = new Project() { ProjectId = 1001, ProjectName = "Project 1", Priority = 10, ActiveStatus = false }; mockManageProject.Setup(manage => manage.GetProjectAsync(1001)).Returns(Task.FromResult(project)); mockManageProject.Setup(manage => manage.IsProjectValidToClose(project)).Throws(new Exception()); var statusResult = await projectController.DeleteAsync(1001); Assert.Equal((int)HttpStatusCode.InternalServerError, (statusResult as ObjectResult).StatusCode); }
public async Task TestDeleteAsync_WhenIsProjectValidToCloseReturnFalseVerifyServiceReturnOkStatus() { var mockManageProject = new Mock <IManageProject>(); var projectController = new ProjectsController(mockManageProject.Object, fixture.projectControllerLogger); var project = new Project() { ProjectId = 1001, ProjectName = "Project 1", Priority = 10, ActiveStatus = false }; mockManageProject.Setup(manage => manage.GetProjectAsync(1001)).Returns(Task.FromResult(project)); mockManageProject.Setup(manage => manage.IsProjectValidToClose(project)).Returns(false); var statusResult = await projectController.DeleteAsync(1001); Assert.NotNull(statusResult as BadRequestObjectResult); }