public async Task DeleteReturnsHttpUnauthorizedResultWhenUserIsNotOrgAdmin() { var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <DeleteViewModelQuery>())).ReturnsAsync(new DeleteViewModel()); var sut = new CampaignController(mediator.Object, null); sut.MakeUserNotAnOrgAdmin(); Assert.IsType <UnauthorizedResult>(await sut.Delete(It.IsAny <int>())); }
public async Task PublishConfirmedReturnsForbiddResultWhenUserIsNotAuthorized() { var mediator = new Mock <IMediator>(); 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.PublishConfirmed(new PublishViewModel { UserIsOrgAdmin = false })); }
public async Task IndexSendsIndexQueryWithCorrectData_WhenUserIsOrgAdmin() { const int organizationId = 99; var mockMediator = new Mock <IMediator>(); var sut = new CampaignController(mockMediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); await sut.Index(); mockMediator.Verify(mock => mock.SendAsync(It.Is <IndexQuery>(q => q.OrganizationId == organizationId))); }
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 })); }
public void CreateReturnsCorrectViewWithCorrectViewModel() { var sut = new CampaignController(null, null); sut.SetClaims(new List <Claim>()); var view = (ViewResult)sut.Create(); var viewModel = (CampaignSummaryViewModel)view.ViewData.Model; Assert.Equal("Edit", view.ViewName); Assert.NotNull(viewModel); }
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); }
public async Task EditGetReturnsCorrectViewModelWhenUserIsAuthorized() { var mediator = new Mock <IMediator>(); mediator.Setup(mock => mock.SendAsync(It.IsAny <CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryViewModel()).Verifiable(); mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(true, false, false, false)); var mockImageService = new Mock <IImageService>(); var sut = new CampaignController(mediator.Object, mockImageService.Object); Assert.IsType <ViewResult>(await sut.Edit(It.IsAny <int>())); }
public async Task DeleteCampaignSendsTheCorrectIdToCampaignSummaryQuery() { var mediatorMock = new Mock <IMediator>(); var imageServiceMock = new Mock <IImageService>(); var sut = new CampaignController(mediatorMock.Object, imageServiceMock.Object); const int campaignId = 2; await sut.DeleteCampaignImage(campaignId); mediatorMock.Verify(m => m.SendAsync(It.IsAny <CampaignSummaryQuery>()), Times.Once); mediatorMock.Verify(m => m.SendAsync(It.Is <CampaignSummaryQuery>(s => s.CampaignId == campaignId))); }
public async Task EditGetSendsCampaignSummaryQueryWithCorrectCampaignId() { int CAMPAIGN_ID = 100; var mockMediator = new Mock<IMediator>(); // model is not null mockMediator.Setup(mock => mock.SendAsync(It.Is<CampaignSummaryQuery>(c => c.CampaignId == CAMPAIGN_ID))).ReturnsAsync(new CampaignSummaryModel { Id = CAMPAIGN_ID }); CampaignController controller = new CampaignController(mockMediator.Object, null); controller.SetClaims(new List<Claim>()); // create a User for the controller var view = await controller.Edit(CAMPAIGN_ID); mockMediator.Verify(mock => mock.SendAsync(It.Is<CampaignSummaryQuery>(c => c.CampaignId == CAMPAIGN_ID))); }
public async Task PublishConfirmedSendsPublishCampaignCommandWithCorrectCampaignId() { var viewModel = new PublishViewModel { Id = 1 }; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(false, true, false, false, 1)); var sut = new CampaignController(mediator.Object, null); await sut.PublishConfirmed(viewModel); mediator.Verify(mock => mock.SendAsync(It.Is <PublishCampaignCommand>(i => i.CampaignId == viewModel.Id)), Times.Once); }
public void CreateReturnsCorrectDataOnViewModel() { var dateTimeNow = DateTime.Now; var sut = new CampaignController(null, null) { DateTimeNow = () => dateTimeNow }; var view = (ViewResult)sut.Create(); var viewModel = (CampaignSummaryViewModel)view.ViewData.Model; Assert.Equal(viewModel.StartDate, dateTimeNow); Assert.Equal(viewModel.EndDate, dateTimeNow.AddMonths(1)); }
public void IndexSendsCampaignListQueryWithCorrectDataWhenUserIsNotOrgAdmin() { 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.OrgAdmin.ToString()), }; controller.SetClaims(claims); controller.Index(); mockMediator.Verify(mock => mock.Send(It.Is<CampaignListQuery>(q => q.OrganizationId == null))); }
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 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))); }
private static CampaignController CampaignControllerWithDetailQuery(string userType, int organizationId) { var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.IsAny<CampaignDetailQuery>())).ReturnsAsync(new CampaignDetailModel { OrganizationId = organizationId }).Verifiable(); var controller = new CampaignController(mockMediator.Object, null); controller.SetClaims(new List<Claim> { new Claim(AllReady.Security.ClaimTypes.UserType, userType), new Claim(AllReady.Security.ClaimTypes.Organization, organizationId.ToString()) }); return controller; }
public void CampaignControllerCreation() { try { var http = new HttpClient(); var con = new ConfigurationBuilder(); var config = con.Build(); var cont = new CampaignController(http, config); Assert.True(true); } catch { return; } }
public async Task DeleteSendsCampaignSummaryQueryWithCorrectCampaignId() { int ORGANIZATION_ID = 99; int CAMPAIGN_ID = 100; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.Is<CampaignSummaryQuery>(c => c.CampaignId == CAMPAIGN_ID))).ReturnsAsync(new CampaignSummaryModel { Id = CAMPAIGN_ID, OrganizationId = ORGANIZATION_ID }); 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.Delete(CAMPAIGN_ID)); mockMediator.Verify(mock => mock.SendAsync(It.Is<CampaignSummaryQuery>(c => c.CampaignId == CAMPAIGN_ID)), Times.Once); }
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); }
public async Task DeleteReturnsCorrectViewWhenUserIsOrgAdmin() { const int organizationId = 1; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <DeleteViewModelQuery>())).ReturnsAsync(new DeleteViewModel { OrganizationId = organizationId }); 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); Assert.IsType <ViewResult>(await sut.Delete(It.IsAny <int>())); }
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 DeleteReturnsCorrectViewWhenUserIsOrgAdmin() { const int organizationId = 1; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny <DeleteViewModelQuery>())).ReturnsAsync(new DeleteViewModel { OrganizationId = organizationId }); var sut = new CampaignController(mediator.Object, null); sut.MakeUserAnOrgAdmin(organizationId.ToString()); Assert.IsType <ViewResult>(await sut.Delete(It.IsAny <int>())); }
/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { if (MessageBox.Show("Schachbrett?", "", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { Program.m_objCampaign = new CampaignController(new CampaignEngine(new Field_Schachbrett(5, 5))); } else { Program.m_objCampaign = new CampaignController(new CampaignEngine(new Field_Schlauch(8))); } using (clsProtoClient game = new clsProtoClient()) { game.Run(); } }
public async Task DeleteCampaignImageReturnsJsonObjectWithStatusOfUnauthorizedIfUserIsNotAuthorized() { var mediatorMock = new Mock <IMediator>(); mediatorMock.Setup(m => m.SendAsync(It.IsAny <CampaignSummaryQuery>())).ReturnsAsync(new CampaignSummaryViewModel()); mediatorMock.Setup(x => x.SendAsync(It.IsAny <AuthorizableCampaignQuery>())).ReturnsAsync(new FakeAuthorizableCampaign(false, false, false, false)); var imageServiceMock = new Mock <IImageService>(); var sut = new CampaignController(mediatorMock.Object, imageServiceMock.Object); var result = await sut.DeleteCampaignImage(It.IsAny <int>()); result.Value.GetType() .GetProperty("status") .GetValue(result.Value) .ShouldBe("Unauthorized"); }
public async Task EditPostAddsCorrectKeyAndErrorMessageToModelStateWhenCampaignEndDateIsLessThanCampainStartDate_WhenCampaignIdIsZero() { var campaignSummaryModel = new CampaignSummaryViewModel { OrganizationId = 1, StartDate = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(-1) }; var sut = new CampaignController(null, null); sut.MakeUserAnOrgAdmin(campaignSummaryModel.OrganizationId.ToString()); await sut.Edit(campaignSummaryModel, null); var modelStateErrorCollection = sut.ModelState.GetErrorMessagesByKey(nameof(CampaignSummaryViewModel.EndDate)); Assert.Equal("The end date must fall on or after the start date.", modelStateErrorCollection.Single().ErrorMessage); }
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)); }
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); }
public async Task EditPostAddsCorrectKeyAndErrorMessageToModelStateWhenCampaignEndDateIsLessThanCampainStartDate() { var campaignSummaryModel = new CampaignSummaryModel { OrganizationId = 1, StartDate = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(-1)}; var sut = new CampaignController(null, null); sut.SetClaims(new List<Claim> { new Claim(AllReady.Security.ClaimTypes.UserType, UserType.OrgAdmin.ToString()), new Claim(AllReady.Security.ClaimTypes.Organization, campaignSummaryModel.OrganizationId.ToString()) }); await sut.Edit(campaignSummaryModel, null); var modelStateErrorCollection = sut.ModelState.GetErrorMessagesByKey(nameof(CampaignSummaryModel.EndDate)); Assert.Equal(modelStateErrorCollection.Single().ErrorMessage, "The end date must fall on or after the start date."); }
public void CampaignControllerWithExceptionTest() { // Add one controller that will throw a not implemented exception List <IController> controllerList = new List <IController> { _testControllerWithException }; try { var controller = new CampaignController(controllerList, _campaignServiceProvider.GetService <ILoggerClient>()); } catch (Exception ex) { Assert.AreEqual(typeof(NotImplementedException), ex.GetType()); } }
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 DeleteReturnsCorrectViewModelWhenUserIsOrgAdmin() { int ORGANIZATION_ID = 99; int CAMPAIGN_ID = 100; var mockMediator = new Mock<IMediator>(); mockMediator.Setup(mock => mock.SendAsync(It.Is<CampaignSummaryQuery>(c => c.CampaignId == CAMPAIGN_ID))).ReturnsAsync(new CampaignSummaryModel { Id = CAMPAIGN_ID, OrganizationId = ORGANIZATION_ID }); 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.Delete(CAMPAIGN_ID)); CampaignSummaryModel viewModel = (CampaignSummaryModel)view.ViewData.Model; Assert.Equal(viewModel.Id, CAMPAIGN_ID); }