public async Task DeleteConfirmedSendsCampaignSummaryQueryWithCorrectCampaignId() { const int campaignId = 1; var mediator = new Mock <IMediator>(); var sut = new CampaignController(mediator.Object, null); await sut.DeleteConfirmed(campaignId); mediator.Verify(mock => mock.SendAsync(It.Is <CampaignSummaryQuery>(i => i.CampaignId == campaignId)), Times.Once); }
public async Task DeleteConfirmedSendsDeleteCampaignCommandWithCorrectCampaignId() { var viewModel = new DeleteViewModel { Id = 1 }; var mediator = new Mock <IMediator>(); var sut = new CampaignController(mediator.Object, null); await sut.DeleteConfirmed(viewModel); mediator.Verify(mock => mock.SendAsync(It.Is <DeleteCampaignCommand>(i => i.CampaignId == viewModel.Id)), Times.Once); }
public async Task DetailConfirmedReturnsForbidResultWhenUserIsNotAuthorized() { var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <AllReady.Areas.Admin.Features.Organizations.AuthorizableOrganizationQuery>())).ReturnsAsync(new FakeAuthorizableOrganization(false, false, false, false)); var sut = new CampaignController(mediator.Object, null); Assert.IsType <ForbidResult>(await sut.DeleteConfirmed(new DeleteViewModel { UserIsOrgAdmin = false })); }
public async Task DeleteConfirmedSendsDeleteCampaignCommandWithCorrectCampaignId() { int id = 1; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryViewModel { Id = id, OrganizationId = 100 }); mediator.Setup(x => x.SendAsync(It.IsAny <AllReady.Areas.Admin.Features.Organizations.AuthorizableOrganizationQuery>())).ReturnsAsync(new FakeAuthorizableOrganization(false, false, true, false, 1)); var sut = new CampaignController(mediator.Object, null); await sut.DeleteConfirmed(id); mediator.Verify(mock => mock.SendAsync(It.Is <DeleteCampaignCommand>(i => i.CampaignId == id)), Times.Once); }
public async Task DetailConfirmedSendsDeleteCampaignCommandWithCorrectCampaignIdWhenUserIsAuthorized() { var mockMediator = new Mock <IMediator>(); mockMediator.Setup(x => x.SendAsync(It.IsAny <AllReady.Areas.Admin.Features.Organizations.AuthorizableOrganizationQuery>())).ReturnsAsync(new FakeAuthorizableOrganization(false, false, true, false)); var viewModel = new DeleteViewModel { Id = 100, UserIsOrgAdmin = true }; var sut = new CampaignController(mockMediator.Object, null); await sut.DeleteConfirmed(viewModel); mockMediator.Verify(mock => mock.SendAsync(It.Is <DeleteCampaignCommand>(i => i.CampaignId == viewModel.Id)), Times.Once); }
public async Task DeleteConfirmedSendsDeleteCampaignCommandWithCorrectCampaignId() { var viewModel = new DeleteViewModel { Id = 1, OrganizationId = 1 }; var mediator = new Mock <IMediator>(); mediator.Setup(a => a.SendAsync(It.IsAny <DeleteCampaignCommand>())).Verifiable(); var sut = new CampaignController(mediator.Object, null); sut.MakeUserAnOrgAdmin(viewModel.OrganizationId.ToString()); await sut.DeleteConfirmed(viewModel); mediator.Verify(mock => mock.SendAsync(It.Is <DeleteCampaignCommand>(i => i.CampaignId == viewModel.Id)), Times.Once); }
public async Task DetailConfirmedSendsDeleteCampaignCommandWithCorrectCampaignIdWhenUserIsOrgAdmin() { const int organizationId = 1; var mockMediator = new Mock <IMediator>(); var viewModel = new DeleteViewModel { Id = 100, UserIsOrgAdmin = true }; var sut = new CampaignController(mockMediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); await sut.DeleteConfirmed(viewModel); mockMediator.Verify(mock => mock.SendAsync(It.Is <DeleteCampaignCommand>(i => i.CampaignId == viewModel.Id)), Times.Once); }
public async Task DetailConfirmedSendsDeleteCampaignCommandWithCorrectCampaignIdWhenUserIsOrgAdmin() { const int organizationId = 1; const int campaignId = 100; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryModel { OrganizationId = organizationId }); var sut = new CampaignController(mockMediator.Object, null); sut.SetClaims(new List<Claim> { new Claim(AllReady.Security.ClaimTypes.UserType, UserType.OrgAdmin.ToString()), new Claim(AllReady.Security.ClaimTypes.Organization, organizationId.ToString()) }); await sut.DeleteConfirmed(campaignId); mockMediator.Verify(mock => mock.SendAsync(It.Is<DeleteCampaignCommand>(i => i.CampaignId == campaignId)), Times.Once); }
public async Task DetailConfirmedSendsDeleteCampaignCommandWithCorrectCampaignIdWhenUserIsOrgAdmin() { const int organizationId = 1; const int campaignId = 100; var mockMediator = new Mock <IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryViewModel { OrganizationId = organizationId }); var sut = new CampaignController(mockMediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); await sut.DeleteConfirmed(campaignId); mockMediator.Verify(mock => mock.SendAsync(It.Is <DeleteCampaignCommand>(i => i.CampaignId == campaignId)), Times.Once); }
public async Task DetailConfirmedRedirectsToCorrectActionWithCorrectRouteValuesWhenUserIsOrgAdmin() { const int organizationId = 1; const int campaignId = 100; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryModel { OrganizationId = organizationId }); var sut = new CampaignController(mockMediator.Object, null); sut.SetClaims(new List<Claim> { new Claim(AllReady.Security.ClaimTypes.UserType, UserType.OrgAdmin.ToString()), new Claim(AllReady.Security.ClaimTypes.Organization, organizationId.ToString()) }); var routeValues = new Dictionary<string, object> { ["area"] = "Admin" }; var result = await sut.DeleteConfirmed(campaignId) as RedirectToActionResult; Assert.Equal(result.ActionName, nameof(CampaignController.Index)); Assert.Equal(result.RouteValues, routeValues); }
public async Task DetailConfirmedRedirectsToCorrectActionWithCorrectRouteValuesWhenUserIsOrgAdmin() { const int organizationId = 1; var viewModel = new DeleteViewModel { Id = 100, UserIsOrgAdmin = true }; var sut = new CampaignController(Mock.Of <IMediator>(), null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); var routeValues = new Dictionary <string, object> { ["area"] = "Admin" }; var result = await sut.DeleteConfirmed(viewModel) as RedirectToActionResult; Assert.Equal(result.ActionName, nameof(CampaignController.Index)); Assert.Equal(result.RouteValues, routeValues); }
public async Task DetailConfirmedRedirectsToCorrectActionWithCorrectRouteValuesWhenUserIsAuthorized() { var viewModel = new DeleteViewModel { Id = 100, UserIsOrgAdmin = true }; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <AllReady.Areas.Admin.Features.Organizations.AuthorizableOrganizationQuery>())).ReturnsAsync(new FakeAuthorizableOrganization(false, false, true, false)); var sut = new CampaignController(mediator.Object, null); var routeValues = new Dictionary <string, object> { ["area"] = "Admin" }; var result = await sut.DeleteConfirmed(viewModel) as RedirectToActionResult; Assert.Equal(result.ActionName, nameof(CampaignController.Index)); Assert.Equal(result.RouteValues, routeValues); }