private static CampaignController CampaignControllerWithSummaryModel(CampaignSummaryModel model, AllReadyContext Context, string userType) { var mockMediator = new Mock <IMediator>(); IAsyncRequest <int> command = new EditCampaignCommand() { Campaign = model }; mockMediator.Setup(x => x.SendAsync(It.IsAny <EditCampaignCommand>())) .Returns(() => { IAsyncRequestHandler <EditCampaignCommand, int> handler = new EditCampaignCommandHandler(Context); return(handler.Handle((EditCampaignCommand)command)); }); var mockImageService = new Mock <IImageService>(); var controller = new CampaignController(mockMediator.Object, mockImageService.Object); controller.SetClaims(new List <Claim> { new Claim(AllReady.Security.ClaimTypes.UserType, userType), new Claim(AllReady.Security.ClaimTypes.Organization, model.OrganizationId.ToString()) }); return(controller); }
public void ExistingCampaign() { var context = ServiceProvider.GetService<AllReadyContext>(); Organization htb = new Organization() { Name = "Humanitarian Toolbox", LogoUrl = "http://www.htbox.org/upload/home/ht-hero.png", WebUrl = "http://www.htbox.org", Campaigns = new List<Campaign>() }; Campaign firePrev = new Campaign() { Name = "Neighborhood Fire Prevention Days", ManagingOrganization = htb, TimeZoneId = "Eastern Standard Time" }; htb.Campaigns.Add(firePrev); context.Organizations.Add(htb); context.SaveChanges(); const string NEW_NAME = "Some new name value"; var startDate = new DateTime(2014, 12, 10); var endDate = new DateTime(2015, 7, 3); var vm = new CampaignSummaryModel { Description = firePrev.Description, EndDate = endDate, FullDescription = firePrev.FullDescription, StartDate = startDate, Id = firePrev.Id, ImageUrl = firePrev.ImageUrl, Name = NEW_NAME, OrganizationId = firePrev.ManagingOrganizationId, OrganizationName = firePrev.ManagingOrganization.Name, TimeZoneId = "Eastern Standard Time" }; var query = new EditCampaignCommand { Campaign = vm }; var handler = new EditCampaignCommandHandler(context); var result = handler.Handle(query); Assert.Equal(1, result); // should get back the Campaign id var data = context.Campaigns.Single(_ => _.Id == 1); Assert.Equal(NEW_NAME, data.Name); Assert.Equal(2014, data.StartDateTime.Year); Assert.Equal(12, data.StartDateTime.Month); Assert.Equal(10, data.StartDateTime.Day); Assert.Equal(00, data.StartDateTime.Hour); Assert.Equal(00, data.StartDateTime.Minute); Assert.Equal(-5, data.StartDateTime.Offset.TotalHours); Assert.Equal(2015, data.EndDateTime.Year); Assert.Equal(7, data.EndDateTime.Month); Assert.Equal(3, data.EndDateTime.Day); Assert.Equal(23, data.EndDateTime.Hour); Assert.Equal(59, data.EndDateTime.Minute); Assert.Equal(-4, data.EndDateTime.Offset.TotalHours); }
public void CampaignDoesNotExist() { var context = ServiceProvider.GetService<AllReadyContext>(); var vm = new CampaignSummaryModel(); var query = new EditCampaignCommand { Campaign = vm }; var handler = new EditCampaignCommandHandler(context); var result = handler.Handle(query); Assert.True(result > 0); var data = context.Campaigns.Count(_ => _.Id == result); Assert.True(data == 1); }
public async Task CampaignDoesNotExist() { var context = ServiceProvider.GetService<AllReadyContext>(); var vm = new CampaignSummaryModel { TimeZoneId = "Eastern Standard Time" }; var query = new EditCampaignCommand { Campaign = vm }; var handler = new EditCampaignCommandHandler(context); var result = await handler.Handle(query); Assert.True(result > 0); var data = context.Campaigns.Count(_ => _.Id == result); Assert.True(data == 1); }
public async Task CampaignDoesNotExist() { var context = ServiceProvider.GetService <AllReadyContext>(); var vm = new CampaignSummaryModel { TimeZoneId = "Eastern Standard Time" }; var query = new EditCampaignCommand { Campaign = vm }; var handler = new EditCampaignCommandHandler(context); var result = await handler.Handle(query); Assert.True(result > 0); var data = context.Campaigns.Count(_ => _.Id == result); Assert.True(data == 1); }
public void ExistingCampaign() { var context = ServiceProvider.GetService<AllReadyContext>(); Tenant htb = new Tenant() { Name = "Humanitarian Toolbox", LogoUrl = "http://www.htbox.org/upload/home/ht-hero.png", WebUrl = "http://www.htbox.org", Campaigns = new List<Campaign>() }; Campaign firePrev = new Campaign() { Name = "Neighborhood Fire Prevention Days", ManagingTenant = htb }; htb.Campaigns.Add(firePrev); context.Tenants.Add(htb); context.SaveChanges(); const string NEW_NAME = "Some new name value"; var vm = new CampaignSummaryModel { Description = firePrev.Description, EndDate = firePrev.EndDateTimeUtc, FullDescription = firePrev.FullDescription, StartDate = firePrev.StartDateTimeUtc, Id = firePrev.Id, ImageUrl = firePrev.ImageUrl, Name = NEW_NAME, TenantId = firePrev.ManagingTenantId, TenantName = firePrev.ManagingTenant.Name }; var query = new EditCampaignCommand { Campaign = vm }; var handler = new EditCampaignCommandHandler(context); var result = handler.Handle(query); Assert.Equal(1, result); // should get back the Campaign id var data = context.Campaigns.Single(_ => _.Id == 1); Assert.Equal(NEW_NAME, data.Name); }
public async Task WhenCampaignDoesNotExist_NewCampaignIsAddedToTheDatabase() { const string name = "Test campaign"; // arrange var vm = new CampaignSummaryViewModel { Name = name }; var sut = new EditCampaignCommandHandler(Context, Mock.Of<IConvertDateTimeOffset>()); var query = new EditCampaignCommand { Campaign = vm }; // act var result = await sut.Handle(query); var data = Context.Campaigns.Single(rec => rec.Id == result); // assert result.ShouldBe(1); // Since no prior records ID should be 1 data.Name.ShouldBe(name); // The name stored in the DB should match the value passed into the command }
public async Task WhenCampaignDoesNotExist_NewCampaignIsAddedToTheDatabase() { const string name = "Test campaign"; // arrange var vm = new CampaignSummaryViewModel { Name = name }; var sut = new EditCampaignCommandHandler(Context, Mock.Of <IConvertDateTimeOffset>()); var query = new EditCampaignCommand { Campaign = vm }; // act var result = await sut.Handle(query); var data = Context.Campaigns.Single(rec => rec.Id == result); // assert result.ShouldBe(1); // Since no prior records ID should be 1 data.Name.ShouldBe(name); // The name stored in the DB should match the value passed into the command }
public async Task ExistingCampaign() { var context = ServiceProvider.GetService <AllReadyContext>(); var htb = new Organization() { Name = "Humanitarian Toolbox", LogoUrl = "http://www.htbox.org/upload/home/ht-hero.png", WebUrl = "http://www.htbox.org", Campaigns = new List <Campaign>() }; var firePrev = new Campaign() { Name = "Neighborhood Fire Prevention Days", ManagingOrganization = htb, TimeZoneId = "Eastern Standard Time" }; htb.Campaigns.Add(firePrev); context.Organizations.Add(htb); context.SaveChanges(); const string NEW_NAME = "Some new name value"; var startDate = new DateTime(2014, 12, 10); var endDate = new DateTime(2015, 7, 3); var vm = new CampaignSummaryModel { Description = firePrev.Description, EndDate = endDate, FullDescription = firePrev.FullDescription, StartDate = startDate, Id = firePrev.Id, ImageUrl = firePrev.ImageUrl, Name = NEW_NAME, OrganizationId = firePrev.ManagingOrganizationId, OrganizationName = firePrev.ManagingOrganization.Name, TimeZoneId = "Eastern Standard Time" }; var query = new EditCampaignCommand { Campaign = vm }; var handler = new EditCampaignCommandHandler(context); var result = await handler.Handle(query); Assert.Equal(1, result); // should get back the Campaign id var data = context.Campaigns.Single(_ => _.Id == 1); Assert.Equal(NEW_NAME, data.Name); Assert.Equal(2014, data.StartDateTime.Year); Assert.Equal(12, data.StartDateTime.Month); Assert.Equal(10, data.StartDateTime.Day); Assert.Equal(00, data.StartDateTime.Hour); Assert.Equal(00, data.StartDateTime.Minute); Assert.Equal(-5, data.StartDateTime.Offset.TotalHours); Assert.Equal(2015, data.EndDateTime.Year); Assert.Equal(7, data.EndDateTime.Month); Assert.Equal(3, data.EndDateTime.Day); Assert.Equal(23, data.EndDateTime.Hour); Assert.Equal(59, data.EndDateTime.Minute); Assert.Equal(-4, data.EndDateTime.Offset.TotalHours); }