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);
        }
Example #2
0
        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);
            
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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
        }
Example #9
0
        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);
        }