Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }