Example #1
0
        public async Task DeleteReturnsForbidResultWhenUserIsNotAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <DeleteQuery>())).ReturnsAsync(new DeleteViewModel());
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableTaskQuery>())).ReturnsAsync(new FakeAuthorizableTask(false, false, false, false));

            var sut = new VolunteerTaskController(mediator.Object, null);

            sut.SetDefaultHttpContext();
            var result = await sut.Delete(It.IsAny <int>());

            Assert.IsType <ForbidResult>(result);
        }
Example #2
0
        public async Task DeleteSendsDeleteQueryWithCorrectTaskId()
        {
            const int volunteerTaskId = 1;

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <DeleteQuery>())).ReturnsAsync(new DeleteViewModel {
            });
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableTaskQuery>())).ReturnsAsync(new FakeAuthorizableTask(false, true, false, false));

            var sut = new VolunteerTaskController(mediator.Object, null);
            await sut.Delete(volunteerTaskId);

            mediator.Verify(x => x.SendAsync(It.Is <DeleteQuery>(y => y.VolunteerTaskId == volunteerTaskId)), Times.Once);
        }
Example #3
0
        public async Task DeleteReturnsCorrectViewModelAndView()
        {
            var deleteViewModel = new DeleteViewModel {
            };

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <DeleteQuery>())).ReturnsAsync(deleteViewModel);
            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.Delete(It.IsAny <int>()) as ViewResult;

            var modelResult = result.ViewData.Model as DeleteViewModel;

            Assert.IsType <ViewResult>(result);
            Assert.IsType <DeleteViewModel>(modelResult);
            Assert.Equal(modelResult, deleteViewModel);
        }