public async Task DeleteConfirmedSendsDeleteTaskCommandWithCorrectTaskId() { const int volunteerTaskId = 1; var mediator = new Mock <IMediator>(); var sut = new VolunteerTaskController(mediator.Object, null); await sut.DeleteConfirmed(new DeleteViewModel { Id = volunteerTaskId, UserIsOrgAdmin = true }); mediator.Verify(x => x.SendAsync(It.Is <DeleteVolunteerTaskCommand>(y => y.VolunteerTaskId == volunteerTaskId)), Times.Once); }
public async Task DeleteConfirmedReturnsForbidResultWhenUserIsNotAuthorized() { var model = new DeleteViewModel { UserIsOrgAdmin = false }; var sut = new VolunteerTaskController(null, null); sut.SetDefaultHttpContext(); var result = await sut.DeleteConfirmed(model); Assert.IsType <ForbidResult>(result); }
public async Task DeleteConfirmedRedirectsToCorrectAction() { var deleteViewModel = new DeleteViewModel { EventId = 1, UserIsOrgAdmin = true }; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableTaskQuery>())).ReturnsAsync(new FakeAuthorizableTask(false, true, false, false)); var sut = new VolunteerTaskController(mediator.Object, null); var result = await sut.DeleteConfirmed(deleteViewModel) as RedirectToActionResult; var routeValues = new Dictionary <string, object> { ["id"] = deleteViewModel.EventId }; Assert.Equal(nameof(EventController.Details), result.ActionName); Assert.Equal("Event", result.ControllerName); Assert.Equal(result.RouteValues, routeValues); }