Exemple #1
0
        public async Task PublishReturnsHttpForbidResultWhenUserIsNotAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <PublishViewModelQuery>())).ReturnsAsync(new PublishViewModel());
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(false, false, false, false));

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

            Assert.IsType <ForbidResult>(await sut.Publish(It.IsAny <int>()));
        }
Exemple #2
0
        public async Task PublishReturnsHttpUnauthorizedResultWhenUserIsNotOrgAdmin()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <PublishViewModelQuery>())).ReturnsAsync(new PublishViewModel());

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

            sut.MakeUserNotAnOrgAdmin();

            Assert.IsType <UnauthorizedResult>(await sut.Publish(It.IsAny <int>()));
        }
Exemple #3
0
        public async Task PublishReturnsCorrectViewWhenUserIsAuthorized()
        {
            const int campaignId = 100;
            var       viewModel  = new PublishViewModel {
                Id = campaignId
            };

            var mediator = new Mock <IMediator>();

            mediator.Setup(mock => mock.SendAsync(It.Is <PublishViewModelQuery>(c => c.CampaignId == campaignId))).ReturnsAsync(viewModel);
            mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(true, false, false, false));

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

            Assert.IsType <ViewResult>(await sut.Publish(campaignId));
        }
Exemple #4
0
        public async Task PublishReturnsCorrectViewWhenUserIsOrgAdmin()
        {
            const int organizationId = 1;

            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.IsAny <PublishViewModelQuery>())).ReturnsAsync(new PublishViewModel {
                OrganizationId = organizationId
            });

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

            sut.MakeUserAnOrgAdmin(organizationId.ToString());

            Assert.IsType <ViewResult>(await sut.Publish(It.IsAny <int>()));
        }
Exemple #5
0
        public async Task PublishSendsPublishQueryWithCorrectCampaignId()
        {
            const int organizationId = 99;
            const int campaignId     = 100;

            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(mock => mock.SendAsync(It.Is <PublishViewModelQuery>(c => c.CampaignId == campaignId))).ReturnsAsync(new PublishViewModel {
                Id = campaignId, OrganizationId = organizationId
            });

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

            sut.MakeUserAnOrgAdmin(organizationId.ToString());
            await sut.Publish(campaignId);

            mockMediator.Verify(mock => mock.SendAsync(It.Is <PublishViewModelQuery>(c => c.CampaignId == campaignId)), Times.Once);
        }
Exemple #6
0
        public async Task PublishReturnsCorrectViewModelWhenUserIsOrgAdmin()
        {
            const int organizationId = 99;
            const int campaignId     = 100;

            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(mock => mock.SendAsync(It.Is <PublishViewModelQuery>(c => c.CampaignId == campaignId))).ReturnsAsync(new PublishViewModel {
                Id = campaignId, OrganizationId = organizationId
            });

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

            sut.MakeUserAnOrgAdmin(organizationId.ToString());

            var view = (ViewResult)await sut.Publish(campaignId);

            var viewModel = (PublishViewModel)view.ViewData.Model;

            Assert.Equal(viewModel.Id, campaignId);
        }