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); }
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); }
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); }