예제 #1
0
        public async Task LockUnlockReturnsHttpUnauthorizedResultWhenUserIsNotSiteAdmin()
        {
            CampaignController controller = new CampaignController(null, null);

            controller.SetClaims(new List <Claim> {
                new Claim(AllReady.Security.ClaimTypes.UserType, UserType.OrgAdmin.ToString())
            });
            Assert.IsType <HttpUnauthorizedResult>(await controller.LockUnlock(100));
        }
        public async Task LockUnlockSendsLockUnlockCampaignCommandWithCorrectCampaignIdWhenUserIsSiteAdmin()
        {
            int CAMPAIGN_ID = 99;
            var mockMediator = new Mock<IMediator>();
            CampaignController controller = new CampaignController(mockMediator.Object, null);
            List<Claim> claims = new List<Claim> { new Claim(AllReady.Security.ClaimTypes.UserType, UserType.SiteAdmin.ToString()) };
            controller.SetClaims(claims);

            await controller.LockUnlock(CAMPAIGN_ID);

            mockMediator.Verify(mock => mock.SendAsync(It.Is<LockUnlockCampaignCommand>(q => q.CampaignId == CAMPAIGN_ID)), Times.Once);
        }
예제 #3
0
        public async Task LockUnlockSendsLockUnlockCampaignCommandWithCorrectCampaignIdWhenUserIsSiteAdmin()
        {
            const int campaignId   = 99;
            var       mockMediator = new Mock <IMediator>();

            var sut = new CampaignController(mockMediator.Object, null);

            sut.MakeUserASiteAdmin();

            await sut.LockUnlock(campaignId);

            mockMediator.Verify(mock => mock.SendAsync(It.Is <LockUnlockCampaignCommand>(q => q.CampaignId == campaignId)), Times.Once);
        }
예제 #4
0
        public async Task LockUnlockRedirectsToCorrectActionWithCorrectRouteValuesWhenUserIsSiteAdmin()
        {
            const int campaignId   = 100;
            var       mockMediator = new Mock <IMediator>();

            var sut = new CampaignController(mockMediator.Object, null);

            sut.MakeUserASiteAdmin();

            var view = (RedirectToActionResult)await sut.LockUnlock(campaignId);

            // verify the next route
            Assert.Equal(nameof(CampaignController.Details), view.ActionName);
            Assert.Equal("Admin", view.RouteValues["area"]);
            Assert.Equal(view.RouteValues["id"], campaignId);
        }
        public async Task LockUnlockRedirectsToCorrectActionWithCorrectRouteValuesWhenUserIsSiteAdmin()
        {
            int CAMPAIGN_ID = 100;
            var mockMediator = new Mock<IMediator>();

            CampaignController controller = new CampaignController(mockMediator.Object, null);
            List<Claim> claims = new List<Claim>
            {
                new Claim(AllReady.Security.ClaimTypes.UserType, UserType.SiteAdmin.ToString()),
            };
            controller.SetClaims(claims);

            RedirectToActionResult view = (RedirectToActionResult)await controller.LockUnlock(CAMPAIGN_ID);

            // verify the next route
            Assert.Equal(view.ActionName, nameof(CampaignController.Details));
            Assert.Equal(view.RouteValues["area"], "Admin");
            Assert.Equal(view.RouteValues["id"], CAMPAIGN_ID);

        }