public void ActivityDoesNotExist() { var context = ServiceProvider.GetService<AllReadyContext>(); Organization htb = new Organization() { Id = 123, 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() { Id = 1, Name = "Neighborhood Fire Prevention Days", ManagingOrganization = htb, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(firePrev); context.Organizations.Add(htb); context.SaveChanges(); var vm = new ActivityDetailModel { CampaignId = 1, TimeZoneId = "Central Standard Time" }; var query = new EditActivityCommand { Activity = vm }; var handler = new EditActivityCommandHandler(context); var result = handler.Handle(query); Assert.True(result > 0); var data = context.Activities.Count(_ => _.Id == result); Assert.True(data == 1); }
protected override void LoadTestData() { 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 }; Activity queenAnne = new Activity() { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTimeUtc = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTimeUtc = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<ActivitySkill>(), }; var username1 = $"*****@*****.**"; var username2 = $"*****@*****.**"; var user1 = new ApplicationUser { UserName = username1, Email = username1, EmailConfirmed = true }; context.Users.Add(user1); htb.Campaigns.Add(firePrev); context.Tenants.Add(htb); context.Activities.Add(queenAnne); var activitySignups = new List<ActivitySignup>(); activitySignups.Add(new ActivitySignup { Activity = queenAnne, User = user1, SignupDateTime = DateTime.UtcNow }); context.ActivitySignup.AddRange(activitySignups); var newTask = new AllReadyTask() { Activity = queenAnne, Description = "Description of a very important task", Name = "Task # 1", EndDateTimeUtc = DateTime.Now.AddDays(5), StartDateTimeUtc = DateTime.Now.AddDays(3), Tenant = htb }; newTask.AssignedVolunteers.Add(new TaskSignup() { Task = newTask, User = user1 }); context.Tasks.Add(newTask); context.SaveChanges(); }
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); }
protected override void LoadTestData() { var context = ServiceProvider.GetService<AllReadyContext>(); Organization htb = new Organization() { Id = 1, Name = "Humanitarian Toolbox", LogoUrl = "http://www.htbox.org/upload/home/ht-hero.png", WebUrl = "http://www.htbox.org", Campaigns = new List<Campaign>(), }; Organization other = new Organization() { Id = 2, Name = "Other Org", Campaigns = new List<Campaign>(), }; Campaign firePrev = new Campaign() { Id = 1, Name = "Neighborhood Fire Prevention Days", ManagingOrganization = htb }; Campaign otherCampaign = new Campaign() { Id = 2, Name = "Some other campaign", ManagingOrganization = other }; htb.Campaigns.Add(firePrev); context.Organizations.Add(htb); other.Campaigns.Add(otherCampaign); context.Organizations.Add(other); context.SaveChanges(); }
public void GetCampaignsByPostalCodeReturnsCorrectResults() { var activity1 = new Activity { Id = 1, CampaignId = 1 }; activity1.Campaign = new Campaign { Id = 1, Activities = new List<Activity> { activity1 }, ManagingOrganization = new Organization() }; var activity2 = new Activity { Id = 2 }; var activity3 = new Activity { Id = 3 }; var campaign2 = new Campaign { Id = 2, Activities = new List<Activity> { activity2, activity3 }, ManagingOrganization = new Organization() }; activity2.CampaignId = campaign2.Id; activity2.Campaign = campaign2; activity3.CampaignId = campaign2.Id; activity3.Campaign = campaign2; var allActivities = new List<Activity> { activity1, activity2, activity3 }; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.Send(It.IsAny<AcitivitiesByPostalCodeQuery>())).Returns(allActivities); var sut = new CampaignApiController(mediator.Object); var results = sut.GetCampaignsByPostalCode(It.IsAny<string>(), It.IsAny<int>()); Assert.Equal(results.Count(), allActivities.Count); }
public void ExistingActivity() { var context = ServiceProvider.GetService<AllReadyContext>(); Tenant htb = new Tenant() { Id = 123, 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() { Id = 1, Name = "Neighborhood Fire Prevention Days", ManagingTenant = htb }; htb.Campaigns.Add(firePrev); Activity queenAnne = new Activity() { Id = 100, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTimeUtc = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTimeUtc = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<ActivitySkill>() }; context.Tenants.Add(htb); context.Activities.Add(queenAnne); context.SaveChanges(); const string NEW_NAME = "Some new name value"; var vm = new ActivityDetailModel { CampaignId = queenAnne.CampaignId, CampaignName = queenAnne.Campaign.Name, Description = queenAnne.Description, EndDateTime = queenAnne.EndDateTimeUtc, Id = queenAnne.Id, ImageUrl = queenAnne.ImageUrl, Location = null, Name = NEW_NAME, RequiredSkills = queenAnne.RequiredSkills, StartDateTime = queenAnne.StartDateTimeUtc, Tasks = null, TenantId = queenAnne.Campaign.ManagingTenantId, TenantName = queenAnne.Campaign.ManagingTenant.Name, Volunteers = null }; var query = new EditActivityCommand { Activity = vm }; var handler = new EditActivityCommandHandler(context); var result = handler.Handle(query); Assert.Equal(100, result); // should get back the activity id var data = context.Activities.Single(_ => _.Id == result); Assert.Equal(NEW_NAME, data.Name); }
protected override void LoadTestData() { 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); Activity queenAnne = new Activity() { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTimeUtc = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTimeUtc = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, Tenant = htb, RequiredSkills = new List<ActivitySkill>() }; context.Tenants.Add(htb); context.Activities.Add(queenAnne); context.SaveChanges(); }
protected override void LoadTestData() { _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>() }; _firePrev = new Campaign() { Name = "Neighborhood Fire Prevention Days", ManagingOrganization = _htb, CampaignContacts = new List<CampaignContact>() }; _htb.Campaigns.Add(_firePrev); _queenAnne = new Event() { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = _firePrev, CampaignId = _firePrev.Id, StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<EventSkill>(), Tasks = new List<AllReadyTask>() }; Context.Events.Add(_queenAnne); Context.SaveChanges(); }
protected override void LoadTestData() { 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 }; var queenAnne = new Event { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<EventSkill>(), }; var username1 = $"*****@*****.**"; var username2 = $"*****@*****.**"; var user1 = new ApplicationUser { UserName = username1, Email = username1, EmailConfirmed = true }; context.Users.Add(user1); var user2 = new ApplicationUser { UserName = username2, Email = username2, EmailConfirmed = true }; context.Users.Add(user2); htb.Campaigns.Add(firePrev); context.Organizations.Add(htb); var task = new AllReadyTask { Event = queenAnne, Description = "Description of a very important task", Name = "Task # ", EndDateTime = DateTime.Now.AddDays(1), StartDateTime = DateTime.Now.AddDays(-3) }; queenAnne.Tasks.Add(task); context.Events.Add(queenAnne); var taskSignups = new List<TaskSignup> { new TaskSignup { Task = task, User = user1 }, new TaskSignup { Task = task, User = user2 } }; context.TaskSignups.AddRange(taskSignups); context.SaveChanges(); }
public void GetCampaignsByPostalCodeReturnsCorrectResults() { var event1 = new Event { Id = 1, CampaignId = 1 }; event1.Campaign = new Campaign { Id = 1, Events = new List<Event> { event1 }, ManagingOrganization = new Organization() }; var event2 = new Event { Id = 2 }; var event3 = new Event { Id = 3 }; var campaign2 = new Campaign { Id = 2, Events = new List<Event> { event2, event3 }, ManagingOrganization = new Organization() }; event2.CampaignId = campaign2.Id; event2.Campaign = campaign2; event3.CampaignId = campaign2.Id; event3.Campaign = campaign2; var allEvents = new List<Event> { event1, event2, event3 }; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.Send(It.IsAny<EventsByPostalCodeQuery>())).Returns(allEvents); var sut = new CampaignApiController(mediator.Object); var results = sut.GetCampaignsByPostalCode(It.IsAny<string>(), It.IsAny<int>()); Assert.Equal(results.Count(), allEvents.Count); }
protected override void LoadTestData() { 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 }; var queenAnne = new Event() { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<EventSkill>(), }; var username1 = $"*****@*****.**"; var username2 = $"*****@*****.**"; var user1 = new ApplicationUser { UserName = username1, Email = username1, EmailConfirmed = true }; Context.Users.Add(user1); var user2 = new ApplicationUser { UserName = username2, Email = username2, EmailConfirmed = true }; Context.Users.Add(user2); var task = new AllReadyTask { Id = 1, Name = "Task 1", Event = queenAnne, }; var taskSignup = new TaskSignup { Id = 1, User = user1, Task = task }; htb.Campaigns.Add(firePrev); Context.Organizations.Add(htb); Context.Events.Add(queenAnne); Context.Tasks.Add(task); Context.TaskSignups.Add(taskSignup); Context.SaveChanges(); }
public void SetOrganizationIdAndOrganizationName_WhenConstructingWithNonNullCampaignAndNonNullManagingOrganization() { var campaign = new Campaign { ManagingOrganization = new Organization { Id = 1, Name = "OrgName" } }; var @event = new Event { Campaign = campaign }; var sut = new EventViewModel(@event); Assert.Equal(sut.OrganizationId, campaign.ManagingOrganization.Id); Assert.Equal(sut.OrganizationName, campaign.ManagingOrganization.Name); }
public CampaignByCampaignIdQueryHandlerShould() { message = new CampaignByCampaignIdQuery { CampaignId = 1 }; campaign = new Campaign { Id = message.CampaignId, Published = true }; Context.Add(campaign); Context.SaveChanges(); sut = new CampaignByCampaignIdQueryHandler(Context); }
public void SetCampaignIdCampaignNameAndTimeZoneId_WhenConstructingWithNonNullCampaign() { var campaign = new Campaign { Id = 1, Name = "Campaignname", TimeZoneId = "CampaignTimeZoneId" }; var @event = new Event { Campaign = campaign, TimeZoneId = "EventTimeZoneId" }; var sut = new EventViewModel(@event); Assert.Equal(sut.CampaignId, campaign.Id); Assert.Equal(sut.CampaignName, campaign.Name); Assert.Equal(sut.TimeZoneId, @event.TimeZoneId); }
public CampaignByApplicationUserIdQueryHandlerShould() { message = new CampaignByApplicationUserIdQuery() { ApplicationUserId = Guid.NewGuid().ToString() }; campaign = new Campaign { Organizer = new ApplicationUser() { Id = message.ApplicationUserId } }; Context.Add(campaign); Context.SaveChanges(); sut = new CampaignByApplicationUserIdQueryHandler(Context); }
protected override void LoadTestData() { var campaign = new Campaign { Id = 111, ManagingOrganization = new Organization() }; Context.Campaigns.Add(campaign); Context.SaveChanges(); }
protected override void LoadTestData() { var context = ServiceProvider.GetService<AllReadyContext>(); var seattlePostalCode = new PostalCodeGeo { City = "Seattle", PostalCode = "98117", State = "WA" }; var seattle = new Location { Id = 1, Address1 = "123 Main Street", Address2 = "Unit 2", City = "Seattle", PostalCode = seattlePostalCode, Country = "USA", State = "WA", Name = "Organizer name", PhoneNumber = "555-555-5555" }; 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 }; htb.Campaigns.Add(firePrev); var queenAnne = new Event { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<EventSkill>() }; context.PostalCodes.Add(seattlePostalCode); context.Locations.Add(seattle); context.Organizations.Add(htb); context.Events.Add(queenAnne); context.SaveChanges(); }
public void HandleReturnsCorrectCampaign() { var message = new CampaignByCampaignIdQuery { CampaignId = 1 }; var campaign = new Campaign { Id = message.CampaignId }; var mockedDataAccess = new Mock<IAllReadyDataAccess>(); mockedDataAccess.Setup(m => m.GetCampaign(message.CampaignId)).Returns(campaign); var sut = new CampaignByCampaignIdQueryHandler(mockedDataAccess.Object); var result = sut.Handle(message); Assert.Same(campaign, result); }
public void CampaignQueryHandlerReturnsCampaignsThatAreNotLocked() { var campaign = new Campaign { EndDateTime = DateTime.UtcNow.AddDays(1).Date, ManagingOrganization = new Organization() }; var lockedCampaign = new Campaign { EndDateTime = DateTime.UtcNow.AddDays(1).Date, Locked = true, ManagingOrganization = new Organization() }; var campaigns = new List<Campaign> { lockedCampaign, campaign }; var mockDataAccess = new Mock<IAllReadyDataAccess>(); mockDataAccess.Setup(x => x.Campaigns).Returns(campaigns); var sut = new CampaignQueryHandler(mockDataAccess.Object); var model = sut.Handle(new CampaignQuery()); Assert.Equal(campaign.EndDateTime, model.Select(m => m.EndDate).Single()); }
protected override void LoadTestData() { 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 }; var queenAnne = new Activity() { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<ActivitySkill>(), }; var username1 = $"*****@*****.**"; var username2 = $"*****@*****.**"; var user1 = new ApplicationUser { UserName = username1, Email = username1, EmailConfirmed = true }; context.Users.Add(user1); var user2 = new ApplicationUser { UserName = username2, Email = username2, EmailConfirmed = true }; context.Users.Add(user2); htb.Campaigns.Add(firePrev); context.Organizations.Add(htb); context.Activities.Add(queenAnne); var activitySignups = new List<ActivitySignup> { new ActivitySignup { Activity = queenAnne, User = user1, SignupDateTime = DateTime.UtcNow }, new ActivitySignup { Activity = queenAnne, User = user2, SignupDateTime = DateTime.UtcNow } }; context.ActivitySignup.AddRange(activitySignups); context.SaveChanges(); }
public async Task<IActionResult> Edit(Campaign campaign) { if (!UserIsTenantAdminOfCampaign(campaign)) { return new HttpUnauthorizedResult(); } if (ModelState.IsValid) { await _dataAccess.UpdateCampaign(campaign); return await Task.FromResult(RedirectToAction("Index", new { area = "Admin" })); } return await Task.FromResult(View(campaign)); }
public CampaignViewModel(Campaign campaign) { if (campaign == null) return; Id = campaign.Id; Name = campaign.Name; Description = campaign.Description; ManagingTenantName = campaign.ManagingTenant.Name; ManagingTenantId = campaign.ManagingTenant.Id; StartDate = new DateTimeOffset(campaign.StartDateTimeUtc, TimeSpan.Zero); EndDate = new DateTimeOffset(campaign.EndDateTimeUtc, TimeSpan.Zero); Activities = campaign.Activities != null ? campaign.Activities.ToViewModel() : Enumerable.Empty<ActivityViewModel>(); }
protected override void LoadTestData() { 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 }; htb.Campaigns.Add(firePrev); var queenAnne = new Event { Id = 1, Name = "Queen Anne Fire Prevention Day", Campaign = firePrev, CampaignId = firePrev.Id, StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = new Location { Id = 1 }, RequiredSkills = new List<EventSkill>(), EventType = EventType.Itinerary }; var itinerary = new Itinerary { Event = queenAnne, Name = "1st Itinerary", Id = 1, Date = new DateTime(2016, 07, 01) }; var taskSignUp = new TaskSignup { Id = 1, ItineraryId = 2, TaskId = 1 }; Context.Organizations.Add(htb); Context.Campaigns.Add(firePrev); Context.Events.Add(queenAnne); Context.Itineraries.Add(itinerary); Context.TaskSignups.Add(taskSignUp); Context.SaveChanges(); }
public CampaignViewModel(Campaign campaign) { if (campaign == null) return; Id = campaign.Id; Name = campaign.Name; Description = campaign.Description; ///TODO: Commented out as campaign.ManagingTenant is null from sample data; /// Fix sample provider to ensure that property is not null //ManagingTenantName = campaign.ManagingTenant.Name; //ManagingTenantId = campaign.ManagingTenant.Id; StartDate = new DateTimeOffset(campaign.StartDateTimeUtc, TimeSpan.Zero); EndDate = new DateTimeOffset(campaign.EndDateTimeUtc, TimeSpan.Zero); Activities = campaign.Activities != null ? campaign.Activities.ToViewModel() : Enumerable.Empty<ActivityViewModel>(); }
public void CampaignQueryHandlerReturnsCampaignsWithAnEndDateGreaterThanToday() { var campaignThatEndedYesterday = new Campaign { EndDateTime = DateTime.UtcNow.AddDays(-1).Date, ManagingOrganization = new Organization() }; var campaignThatEndsTomorrow = new Campaign { EndDateTime = DateTime.UtcNow.AddDays(1).Date, ManagingOrganization = new Organization() }; var campaigns = new List<Campaign> { campaignThatEndedYesterday, campaignThatEndsTomorrow }; var mockDataAccess = new Mock<IAllReadyDataAccess>(); mockDataAccess.Setup(x => x.Campaigns).Returns(campaigns); var sut = new CampaignQueryHandler(mockDataAccess.Object); var model = sut.Handle(new CampaignQuery()); Assert.Equal(campaignThatEndsTomorrow.EndDateTime, model.Select(m => m.EndDate).Single()); }
protected override void LoadTestData() { var organization = new Organization { Id = 1, Name = "Org 1", WebUrl = "http://www.org1.org", LogoUrl = "http://www.org1Logo.org", Location = new Location { Id = 1, Country="USA" }, Campaigns = new List<Campaign>(), Users = new List<ApplicationUser>(), OrganizationContacts = new List<OrganizationContact>() }; var campaign = new Campaign { Id = 1, Name = "Campaign 1", ManagingOrganizationId = 1 }; var user = new ApplicationUser { Id = Guid.NewGuid().ToString(), Email = "*****@*****.**" }; var organizationContact = new OrganizationContact { OrganizationId = 1, ContactType = (int)ContactTypes.Primary, Contact = new Contact { Id = 1, Email = "*****@*****.**", FirstName = "firstName", LastName = "lastName", PhoneNumber = "123" } }; Context.Organizations.Add(organization); Context.Campaigns.Add(campaign); Context.Users.Add(user); Context.OrganizationContacts.Add(organizationContact); Context.SaveChanges(); }
public void ConstructEventViewModel_WithTheCorrectData() { var campaign = new Campaign { Id = 1, Name = "Campaignname", TimeZoneId = "CampaignTimeZoneId" }; var location = new AllReady.ViewModels.Shared.LocationViewModel { City = "Amsterdam" }; var skills = new List<SkillViewModel> { new SkillViewModel { Name = "F sharp" } }; var userSkills = new List<SkillViewModel> { new SkillViewModel { Name = "Medic", Description = "first aid helper", HierarchicalName = "med01", Id = 1 } }; var signup = new AllReady.ViewModels.Shared.TaskSignupViewModel { Name = "task1", TaskId = 1 }; var @event = new Event { Campaign = campaign, TimeZoneId = "EventTimeZoneId" }; var sut = new EventViewModel(@event); var @task = new TaskViewModel { CampaignName = sut.CampaignName, CampaignId = sut.CampaignId, eventName = sut.Title, Name = "tasks" }; var tasks = new List<TaskViewModel> { @task }; sut.Description = "Testing the allReady from htbox"; sut.EndDateTime = DateTimeOffset.Now.AddDays(3650); sut.EventType = EventType.Rally; sut.HasPrivacyPolicy = false; sut.Headline = "the Already test campaing"; sut.Id = 1; sut.ImageUrl = "http://www.htbox.org/"; sut.IsAllowWaitList = false; sut.IsClosed = false; sut.IsLimitVolunteers = true; sut.Location = location; sut.OrganizationId = 1; sut.OrganizationName = "TestOrg"; sut.RequiredSkills = skills; sut.SignupModel = signup; sut.StartDateTime = DateTimeOffset.Now.AddDays(365); sut.Tasks = tasks; sut.TimeZoneId = "US Mountain Standard Time"; sut.Title = "Test Event"; sut.UserId = "99"; sut.UserSkills = userSkills; sut.UserTasks = tasks; Assert.Equal(sut.CampaignId, campaign.Id); Assert.Equal(sut.CampaignName, campaign.Name); Assert.Equal(sut.Location, location); Assert.Equal(sut.UserSkills, userSkills); Assert.Equal(sut.UserTasks, tasks); Assert.Equal(sut.SignupModel, signup); Assert.Equal(sut.RequiredSkills, skills); }
public async Task ReturnTheCorrectData() { var campaign1 = new Campaign { Id = 1, Name = "Campaign1Name", Description = "Campaign1Description", ManagingOrganizationId = 1, ManagingOrganization = new Organization { Id = 1, Name = "ManagingOrgName "}}; Context.Campaigns.Add(campaign1); Context.Campaigns.Add(new Campaign { Id = 2, ManagingOrganization = new Organization { Id = 2 }}); Context.SaveChanges(); var message = new PublishViewModelQuery { CampaignId = campaign1.Id }; var sut = new PublishViewModelQueryHandler(Context); var result = await sut.Handle(message); Assert.Equal(result.Id, campaign1.Id); Assert.Equal(result.Name, campaign1.Name); Assert.Equal(result.Description, campaign1.Description); Assert.Equal(result.OrganizationId, campaign1.ManagingOrganization.Id); Assert.Equal(result.OrganizationName, campaign1.ManagingOrganization.Name); }
protected override void LoadTestData() { 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() { Id = 1, Name = "Neighborhood Fire Prevention Days", ManagingTenant = htb }; htb.Campaigns.Add(firePrev); context.Tenants.Add(htb); context.SaveChanges(); }
public CampaignViewModel(Campaign campaign) { if (campaign == null) return; Id = campaign.Id; Name = campaign.Name; Description = campaign.Description; FullDescription = campaign.FullDescription; ///TODO: Commented out as campaign.ManagingOrganization is null from sample data; /// Fix sample provider to ensure that property is not null //ManagingOrganizationName = campaign.ManagingOrganization.Name; //ManagingOrganizationId = campaign.ManagingOrganization.Id; TimeZoneId = campaign.TimeZoneId; StartDate = campaign.StartDateTime; EndDate = campaign.EndDateTime; Activities = campaign.Activities != null ? campaign.Activities.ToViewModel() : Enumerable.Empty<ActivityViewModel>(); CampaignImpact = campaign.CampaignImpact; ImageUrl = campaign.ImageUrl; }
//private static ITaskIdProvider _taskIdProvider = new TaskIdProvider(); public void InsertTestData() { // Avoid polluting the database if there's already something in there. if (_context.Locations.Any() || _context.Organizations.Any() || _context.Tasks.Any() || _context.Campaigns.Any() || _context.Events.Any() || _context.EventSkills.Any() || _context.Skills.Any() || _context.Resources.Any()) { return; } #region postalCodes var existingPostalCode = _context.PostalCodes.ToList(); _context.PostalCodes.AddRange(GetPostalCodes(existingPostalCode)); #endregion List <Organization> organizations = new List <Organization>(); List <Skill> organizationSkills = new List <Skill>(); List <Location> locations = GetLocations(); List <ApplicationUser> users = new List <ApplicationUser>(); List <TaskSignup> taskSignups = new List <TaskSignup>(); List <Event> events = new List <Event>(); List <EventSkill> eventSkills = new List <EventSkill>(); List <Campaign> campaigns = new List <Campaign>(); List <AllReadyTask> tasks = new List <AllReadyTask>(); List <Resource> resources = new List <Resource>(); List <EventSignup> eventSignups = new List <EventSignup>(); List <Contact> contacts = GetContacts(); var skills = new List <Skill>(); #region Skills var medical = new Skill() { Name = "Medical", Description = "specific enough, right?" }; var cprCertified = new Skill() { Name = "CPR Certified", ParentSkill = medical, Description = "ha ha ha ha, stayin alive" }; var md = new Skill() { Name = "MD", ParentSkill = medical, Description = "Trust me, I'm a doctor" }; var surgeon = new Skill() { Name = "Surgeon", ParentSkill = md, Description = "cut open; sew shut; play 18 holes" }; skills.AddRange(new[] { medical, cprCertified, md, surgeon }); #endregion #region Organization Organization htb = new Organization() { Name = "Humanitarian Toolbox", LogoUrl = "http://www.htbox.org/upload/home/ht-hero.png", WebUrl = "http://www.htbox.org", Location = locations.FirstOrDefault(), Campaigns = new List <Campaign>(), OrganizationContacts = new List <OrganizationContact>(), }; #endregion #region Organization Skills organizationSkills.Add(new Skill() { Name = "Code Ninja", Description = "Ability to commit flawless code without review or testing", OwningOrganization = htb }); #endregion #region Campaign Campaign firePrev = new Campaign() { Name = "Neighborhood Fire Prevention Days", ManagingOrganization = htb, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(firePrev); var smokeDetImpact = new CampaignImpact { ImpactType = ImpactType.Numeric, NumericImpactGoal = 10000, CurrentImpactLevel = 6722, Display = true, TextualImpactGoal = "Total number of smoke detectors installed." }; _context.CampaignImpacts.Add(smokeDetImpact); Campaign smokeDet = new Campaign() { Name = "Working Smoke Detectors Save Lives", ManagingOrganization = htb, StartDateTime = DateTime.Today.AddMonths(-1).ToUniversalTime(), EndDateTime = DateTime.Today.AddMonths(1).ToUniversalTime(), CampaignImpact = smokeDetImpact, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(smokeDet); Campaign financial = new Campaign() { Name = "Everyday Financial Safety", ManagingOrganization = htb, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(financial); Campaign safetyKit = new Campaign() { Name = "Simple Safety Kit Building", ManagingOrganization = htb, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(safetyKit); Campaign carSafe = new Campaign() { Name = "Family Safety In the Car", ManagingOrganization = htb, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(carSafe); Campaign escapePlan = new Campaign() { Name = "Be Ready to Get Out: Have a Home Escape Plan", ManagingOrganization = htb, TimeZoneId = "Central Standard Time" }; htb.Campaigns.Add(escapePlan); #endregion #region Event Event queenAnne = new Event() { Name = "Queen Anne Fire Prevention Day", StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 15, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), RequiredSkills = new List <EventSkill>() }; queenAnne.Tasks = GetSomeTasks(queenAnne, htb); var ask = new EventSkill() { Skill = surgeon, Event = queenAnne }; queenAnne.RequiredSkills.Add(ask); eventSkills.Add(ask); ask = new EventSkill() { Skill = cprCertified, Event = queenAnne }; queenAnne.RequiredSkills.Add(ask); eventSkills.Add(ask); tasks.AddRange(queenAnne.Tasks); Event ballard = new Event() { Name = "Ballard Fire Prevention Day", StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 14, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = firePrev }; ballard.Tasks = GetSomeTasks(ballard, htb); tasks.AddRange(ballard.Tasks); Event madrona = new Event() { Name = "Madrona Fire Prevention Day", StartDateTime = new DateTime(2015, 7, 4, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 14, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = firePrev }; madrona.Tasks = GetSomeTasks(madrona, htb); tasks.AddRange(madrona.Tasks); Event southLoopSmoke = new Event() { Name = "Smoke Detector Installation and Testing-South Loop", StartDateTime = new DateTime(2015, 7, 6, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 17, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = smokeDet }; southLoopSmoke.Tasks = GetSomeTasks(southLoopSmoke, htb); tasks.AddRange(southLoopSmoke.Tasks); Event northLoopSmoke = new Event() { Name = "Smoke Detector Installation and Testing-Near North Side", StartDateTime = new DateTime(2015, 7, 6, 10, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 31, 17, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = smokeDet }; northLoopSmoke.Tasks = GetSomeTasks(northLoopSmoke, htb); tasks.AddRange(northLoopSmoke.Tasks); Event rentersInsurance = new Event() { Name = "Renters Insurance Education Door to Door and a bag of chips", Description = "description for the win", StartDateTime = new DateTime(2015, 7, 11, 8, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 7, 11, 17, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = financial }; rentersInsurance.Tasks = GetSomeTasks(rentersInsurance, htb); tasks.AddRange(rentersInsurance.Tasks); Event rentersInsuranceEd = new Event() { Name = "Renters Insurance Education Door to Door (woop woop)", Description = "another great description", StartDateTime = new DateTime(2015, 7, 12, 8, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 12, 17, 0, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = financial }; rentersInsuranceEd.Tasks = GetSomeTasks(rentersInsuranceEd, htb); tasks.AddRange(rentersInsuranceEd.Tasks); Event safetyKitBuild = new Event() { Name = "Safety Kit Assembly Volunteer Day", Description = "Full day of volunteers building kits", StartDateTime = new DateTime(2015, 7, 11, 8, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 11, 16, 30, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = safetyKit }; safetyKitBuild.Tasks = GetSomeTasks(safetyKitBuild, htb); tasks.AddRange(safetyKitBuild.Tasks); Event safetyKitHandout = new Event() { Name = "Safety Kit Distribution Weekend", Description = "Handing out kits at local fire stations", StartDateTime = new DateTime(2015, 7, 11, 8, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 11, 16, 30, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = safetyKit }; safetyKitHandout.Tasks = GetSomeTasks(safetyKitHandout, htb); tasks.AddRange(safetyKitHandout.Tasks); Event carSeatTest1 = new Event() { Name = "Car Seat Testing-Naperville", Description = "Checking car seats at local fire stations after last day of school year", StartDateTime = new DateTime(2015, 7, 10, 9, 30, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 10, 15, 30, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = carSafe }; carSeatTest1.Tasks = GetSomeTasks(carSeatTest1, htb); tasks.AddRange(carSeatTest1.Tasks); Event carSeatTest2 = new Event() { Name = "Car Seat and Tire Pressure Checking Volunteer Day", Description = "Checking those things all day at downtown train station parking", StartDateTime = new DateTime(2015, 7, 11, 8, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 11, 19, 30, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = carSafe }; carSeatTest2.Tasks = GetSomeTasks(carSeatTest2, htb); tasks.AddRange(carSeatTest2.Tasks); Event homeFestival = new Event() { Name = "Park District Home Safety Festival", Description = "At downtown park district(adjacent to pool)", StartDateTime = new DateTime(2015, 7, 11, 12, 0, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 11, 16, 30, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = safetyKit }; homeFestival.Tasks = GetSomeTasks(homeFestival, htb); tasks.AddRange(homeFestival.Tasks); Event homeEscape = new Event() { Name = "Home Escape Plan Flyer Distribution", Description = "Handing out flyers door to door in several areas of town after school/ work hours.Streets / blocks will vary but number of volunteers.", StartDateTime = new DateTime(2015, 7, 15, 15, 30, 0).ToUniversalTime(), EndDateTime = new DateTime(2015, 12, 15, 20, 30, 0).ToUniversalTime(), Location = GetRandom <Location>(locations), Campaign = escapePlan }; homeEscape.Tasks = GetSomeTasks(homeEscape, htb); tasks.AddRange(homeEscape.Tasks); #endregion #region Link campaign and event firePrev.Events = new List <Event>(); firePrev.Events.Add(queenAnne); firePrev.Events.Add(ballard); firePrev.Events.Add(madrona); smokeDet.Events = new List <Event>(); smokeDet.Events.Add(southLoopSmoke); smokeDet.Events.Add(northLoopSmoke); financial.Events = new List <Event>(); financial.Events.Add(rentersInsurance); financial.Events.Add(rentersInsuranceEd); safetyKit.Events = new List <Event>(); safetyKit.Events.Add(safetyKitBuild); safetyKit.Events.Add(safetyKitHandout); carSafe.Events = new List <Event>(); carSafe.Events.Add(carSeatTest1); carSafe.Events.Add(carSeatTest2); escapePlan.Events = new List <Event>(); escapePlan.Events.Add(homeFestival); escapePlan.Events.Add(homeEscape); #endregion #region Add Campaigns and Events organizations.Add(htb); campaigns.Add(firePrev); campaigns.Add(smokeDet); campaigns.Add(financial); campaigns.Add(escapePlan); campaigns.Add(safetyKit); campaigns.Add(carSafe); events.AddRange(firePrev.Events); events.AddRange(smokeDet.Events); events.AddRange(financial.Events); events.AddRange(escapePlan.Events); events.AddRange(safetyKit.Events); events.AddRange(carSafe.Events); #endregion #region Insert Resource items into Resources resources.Add(new Resource { Name = "allReady Partner Name", Description = "allready Partner Description", PublishDateBegin = DateTime.Today, PublishDateEnd = DateTime.Today.AddDays(14), MediaUrl = "", ResourceUrl = "", CategoryTag = "Partners" }); resources.Add(new Resource { Name = "allReady Partner Name 2", Description = "allready Partner Description 2", PublishDateBegin = DateTime.Today.AddDays(-3), PublishDateEnd = DateTime.Today.AddDays(-1), MediaUrl = "", ResourceUrl = "", CategoryTag = "Partners" }); #endregion #region Insert into DB _context.Skills.AddRange(skills); _context.Contacts.AddRange(contacts); _context.EventSkills.AddRange(eventSkills); _context.Locations.AddRange(locations); _context.Organizations.AddRange(organizations); _context.Tasks.AddRange(tasks); _context.Campaigns.AddRange(campaigns); _context.Events.AddRange(events); _context.Resources.AddRange(resources); //_context.SaveChanges(); #endregion #region Users for Events var username1 = $"{_settings.DefaultUsername}1.com"; var username2 = $"{_settings.DefaultUsername}2.com"; var username3 = $"{_settings.DefaultUsername}3.com"; var user1 = new ApplicationUser { UserName = username1, Email = username1, EmailConfirmed = true, TimeZoneId = _generalSettings.DefaultTimeZone }; _userManager.CreateAsync(user1, _settings.DefaultAdminPassword).GetAwaiter().GetResult(); users.Add(user1); var user2 = new ApplicationUser { UserName = username2, Email = username2, EmailConfirmed = true, TimeZoneId = _generalSettings.DefaultTimeZone }; _userManager.CreateAsync(user2, _settings.DefaultAdminPassword).GetAwaiter().GetResult(); users.Add(user2); var user3 = new ApplicationUser { UserName = username3, Email = username3, EmailConfirmed = true, TimeZoneId = _generalSettings.DefaultTimeZone }; _userManager.CreateAsync(user3, _settings.DefaultAdminPassword).GetAwaiter().GetResult(); users.Add(user3); #endregion #region ActvitySignups eventSignups.Add(new EventSignup { Event = madrona, User = user1, SignupDateTime = DateTime.UtcNow }); eventSignups.Add(new EventSignup { Event = madrona, User = user2, SignupDateTime = DateTime.UtcNow }); eventSignups.Add(new EventSignup { Event = madrona, User = user3, SignupDateTime = DateTime.UtcNow }); #endregion #region TaskSignups int i = 0; foreach (var task in tasks.Where(t => t.Event == madrona)) { for (var j = 0; j < i; j++) { taskSignups.Add(new TaskSignup() { Task = task, User = users[j], Status = Areas.Admin.Features.Tasks.TaskStatus.Assigned.ToString() }); } i = (i + 1) % users.Count; } _context.TaskSignups.AddRange(taskSignups); #endregion #region TennatContacts htb.OrganizationContacts.Add(new OrganizationContact { Contact = contacts.First(), Organization = htb, ContactType = 1 /*Primary*/ }); #endregion #region Wrap Up DB _context.EventSignup.AddRange(eventSignups); _context.SaveChanges(); #endregion }