public async Task DeleteConfirmedRedirectsToCorrectAction() { const int organizationId = 1; const int taskId = 1; var taskSummaryModel = new TaskSummaryModel { OrganizationId = organizationId, EventId = 1 }; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskQueryAsync>())).ReturnsAsync(taskSummaryModel); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); MakeUserOrganizationAdminUser(sut, organizationId.ToString()); var result = await sut.DeleteConfirmed(taskId) as RedirectToActionResult; var routeValues = new Dictionary<string, object> { ["id"] = taskSummaryModel.EventId }; Assert.Equal(result.ActionName, nameof(EventController.Details)); Assert.Equal(result.ControllerName, "Event"); Assert.Equal(result.RouteValues, routeValues); }
public async Task DeleteConfirmedReturnsHttpUnauthorizedResultWhenUserIsNotOrgAdmin() { var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskQueryAsync>())).ReturnsAsync(new TaskSummaryModel()); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); sut.SetDefaultHttpContext(); var result = await sut.DeleteConfirmed(It.IsAny<int>()); Assert.IsType<HttpUnauthorizedResult>(result); }
public async Task DeleteConfirmedSendsDeleteTaskCommandAsyncWithCorrectTaskId() { const int organizationId = 1; const int taskId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskQueryAsync>())).ReturnsAsync(new TaskSummaryModel { OrganizationId = 1 }); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); MakeUserOrganizationAdminUser(sut, organizationId.ToString()); await sut.DeleteConfirmed(taskId); mediator.Verify(x => x.SendAsync(It.Is<DeleteTaskCommandAsync>(y => y.TaskId == taskId)), Times.Once); }
public async Task DeleteConfirmedReturnsHttpNotFoundResultWhenTaskSummaryModelIsNull() { var sut = new TaskController(Mock.Of<IMediator>(), Mock.Of<ITaskSummaryModelValidator>()); var result = await sut.DeleteConfirmed(It.IsAny<int>()); Assert.IsType<HttpNotFoundResult>(result); }
public async Task DeleteConfirmedSendsTaskQueryAsyncWithCorrectTaskId() { const int taskId = 1; var mediator = new Mock<IMediator>(); var sut = new TaskController(mediator.Object, Mock.Of<ITaskSummaryModelValidator>()); await sut.DeleteConfirmed(taskId); mediator.Verify(x => x.SendAsync(It.Is<TaskQueryAsync>(y => y.TaskId == taskId)), Times.Once); }
public async Task DeleteConfirmedRedirectsToCorrectAction() { const int organizationId = 1; var deleteViewModel = new DeleteViewModel { OrganizationId = organizationId, EventId = 1, UserIsOrgAdmin = true }; var mediator = new Mock<IMediator>(); var sut = new TaskController(mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); var result = await sut.DeleteConfirmed(deleteViewModel) as RedirectToActionResult; var routeValues = new Dictionary<string, object> { ["id"] = deleteViewModel.EventId }; Assert.Equal(result.ActionName, nameof(EventController.Details)); Assert.Equal(result.ControllerName, "Event"); Assert.Equal(result.RouteValues, routeValues); }
public async Task DeleteConfirmedSendsDeleteTaskCommandAsyncWithCorrectTaskId() { const int taskId = 1; var mediator = new Mock<IMediator>(); var sut = new TaskController(mediator.Object, null); await sut.DeleteConfirmed(new DeleteViewModel { Id = taskId, UserIsOrgAdmin = true }); mediator.Verify(x => x.SendAsync(It.Is<DeleteTaskCommandAsync>(y => y.TaskId == taskId)), Times.Once); }
public async Task DeleteConfirmedReturnsUnauthorizedResultWhenUserIsNotOrgAdmin() { var model = new DeleteViewModel { UserIsOrgAdmin = false }; var sut = new TaskController(null, null); sut.SetDefaultHttpContext(); var result = await sut.DeleteConfirmed(model); Assert.IsType<UnauthorizedResult>(result); }