Exemple #1
0
        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);
        }
Exemple #2
0
        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
            }));
        }
Exemple #4
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #11
0
        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);
        }