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); }
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))); }
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>())); }
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))); }
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))); }
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); }
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); }