Exemple #1
0
        public async Task DetailsReturnsCorrectViewModelWhenViewModelIsNotNullAndUserIsOrgAdmin()
        {
            int CAMPAIGN_ID     = 100;
            int ORGANIZATION_ID = 99;
            var mockMediator    = new Mock <IMediator>();

            // model is not null
            mockMediator.Setup(mock => mock.SendAsync(It.Is <CampaignDetailQuery>(c => c.CampaignId == CAMPAIGN_ID))).ReturnsAsync(new CampaignDetailModel {
                OrganizationId = ORGANIZATION_ID, Id = CAMPAIGN_ID
            }).Verifiable();

            // user is org admin
            CampaignController controller = new CampaignController(mockMediator.Object, null);

            controller.SetClaims(new List <Claim>
            {
                new Claim(AllReady.Security.ClaimTypes.UserType, UserType.OrgAdmin.ToString()),
                new Claim(AllReady.Security.ClaimTypes.Organization, ORGANIZATION_ID.ToString())
            });

            ViewResult          view      = (ViewResult)(await controller.Details(CAMPAIGN_ID));
            CampaignDetailModel viewModel = (CampaignDetailModel)view.ViewData.Model;

            Assert.Equal(viewModel.Id, CAMPAIGN_ID);
            Assert.Equal(viewModel.OrganizationId, ORGANIZATION_ID);
        }
Exemple #2
0
        public async Task DetailsSendsCampaignDetailQueryWithCorrectCampaignId()
        {
            const int campaignId   = 100;
            var       mockMediator = new Mock <IMediator>();

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

            mockMediator.Verify(mock => mock.SendAsync(It.Is <CampaignDetailQuery>(c => c.CampaignId == campaignId)));
        }
Exemple #3
0
        public async Task DetailsReturnsHttpNotFoundResultWhenVieModelIsNull()
        {
            var mockMediator = new Mock <IMediator>();

            mockMediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignDetailQuery>())).ReturnsAsync((CampaignDetailViewModel)null).Verifiable();

            CampaignController sut = GetInstance(mediator: mockMediator.Object);

            Assert.IsType <NotFoundResult>(await sut.Details(It.IsAny <int>()));
        }
Exemple #4
0
        public async Task DetailsReturnsCorrectViewWhenViewModelIsNotNullAndUserIsAuthorized()
        {
            var mediator = new Mock <IMediator>();

            mediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignDetailQuery>())).ReturnsAsync(new CampaignDetailViewModel()).Verifiable();
            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.Details(It.IsAny <int>()));
        }
        public async Task DetailsSendsCampaignDetailQueryWithCorrectCampaignId()
        {
            int CAMPAIGN_ID = 100;
            int ORGANIZATION_ID = 99;
            var mockMediator = new Mock<IMediator>();

            // model is not null
            mockMediator.Setup(mock => mock.SendAsync(It.Is<CampaignDetailQuery>(c => c.CampaignId == CAMPAIGN_ID))).ReturnsAsync(new CampaignDetailModel { OrganizationId = ORGANIZATION_ID, Id = CAMPAIGN_ID }).Verifiable();

            CampaignController controller = new CampaignController(mockMediator.Object, null);
            controller.SetClaims(new List<Claim>()); // create a User for the controller
            var view = await controller.Details(CAMPAIGN_ID);
            mockMediator.Verify(mock => mock.SendAsync(It.Is<CampaignDetailQuery>(c => c.CampaignId == CAMPAIGN_ID)));
        }
Exemple #6
0
        public async Task DetailsSendsCampaignDetailQueryWithCorrectCampaignId()
        {
            const int campaignId     = 100;
            const int organizationId = 99;
            var       mockMediator   = new Mock <IMediator>();

            // model is not null
            mockMediator.Setup(mock => mock.SendAsync(It.Is <CampaignDetailQuery>(c => c.CampaignId == campaignId))).ReturnsAsync(new CampaignDetailViewModel {
                OrganizationId = organizationId, Id = campaignId
            }).Verifiable();

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

            controller.SetClaims(new List <Claim>()); // create a User for the controller
            await controller.Details(campaignId);

            mockMediator.Verify(mock => mock.SendAsync(It.Is <CampaignDetailQuery>(c => c.CampaignId == campaignId)));
        }
Exemple #7
0
        public async Task DetailsReturnsCorrectViewModelWhenViewModelIsNotNullAndUserIsAuthorized()
        {
            const int campaignId     = 100;
            const int organizationId = 99;
            var       viewModel      = new CampaignDetailViewModel {
                OrganizationId = organizationId, Id = campaignId
            };

            var mockMediator = new Mock <IMediator>();

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

            // user is org admin
            var sut = new CampaignController(mockMediator.Object, null);

            var view            = (ViewResult)(await sut.Details(campaignId));
            var resultViewModel = (CampaignDetailViewModel)view.ViewData.Model;

            Assert.Equal(resultViewModel.Id, campaignId);
            Assert.Equal(resultViewModel.OrganizationId, organizationId);
        }
Exemple #8
0
        public async Task DetailsReturnsCorrectViewModelWhenViewModelIsNotNullAndUserIsOrgAdmin()
        {
            const int campaignId     = 100;
            const int organizationId = 99;
            var       mockMediator   = new Mock <IMediator>();

            // model is not null
            mockMediator.Setup(mock => mock.SendAsync(It.Is <CampaignDetailQuery>(c => c.CampaignId == campaignId))).ReturnsAsync(new CampaignDetailViewModel {
                OrganizationId = organizationId, Id = campaignId
            }).Verifiable();

            // user is org admin
            var sut = new CampaignController(mockMediator.Object, null);

            sut.MakeUserAnOrgAdmin(organizationId.ToString());

            var view      = (ViewResult)(await sut.Details(campaignId));
            var viewModel = (CampaignDetailViewModel)view.ViewData.Model;

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