public async Task AssignReturnsForbidResultWhenUserIsNotAuthorized() { var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <OrganizationIdByVolunteerTaskIdQuery>())).ReturnsAsync(It.IsAny <int>()); 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.Assign(1, null); Assert.IsType <ForbidResult>(result); }
public async Task AssignSendsOrganizationIdByTaskIdQueryWithCorrectTaskId() { const int volunteerTaskId = 1; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <OrganizationIdByVolunteerTaskIdQuery>())).ReturnsAsync(It.IsAny <int>()); mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableTaskQuery>())).ReturnsAsync(new FakeAuthorizableTask(false, true, false, false)); var sut = new VolunteerTaskController(mediator.Object, null); sut.SetDefaultHttpContext(); await sut.Assign(volunteerTaskId, null); mediator.Verify(x => x.SendAsync(It.Is <OrganizationIdByVolunteerTaskIdQuery>(y => y.VolunteerTaskId == volunteerTaskId)), Times.Once); }
public async Task AssignSendsAssignTaskCommand() { const int volunteerTaskId = 1; var userIds = new List <string> { "1", "2" }; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <OrganizationIdByVolunteerTaskIdQuery>())).ReturnsAsync(It.IsAny <int>()); mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableTaskQuery>())).ReturnsAsync(new FakeAuthorizableTask(false, true, false, false)); var sut = new VolunteerTaskController(mediator.Object, null); await sut.Assign(volunteerTaskId, userIds); mediator.Verify(x => x.SendAsync(It.Is <AssignVolunteerTaskCommand>(y => y.VolunteerTaskId == volunteerTaskId && y.UserIds == userIds)), Times.Once); }
public async Task AssignRedirectsToCorrectRoute() { const int volunteerTaskId = 1; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <OrganizationIdByVolunteerTaskIdQuery>())).ReturnsAsync(It.IsAny <int>()); 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.Assign(volunteerTaskId, null) as RedirectToRouteResult; Assert.Equal("VolunteerTask", result.RouteValues["controller"]); Assert.Equal("Admin", result.RouteValues["Area"]); Assert.Equal(nameof(VolunteerTaskController.Details), result.RouteValues["action"]); Assert.Equal(result.RouteValues["id"], volunteerTaskId); }