예제 #1
0
        public async void GivenCreateNewCampaignUnhappyPath_whenCreatingANewCampaignWhenNotallFieldsAreFilledIn_ThenReturnNull()
        {
            var testCampaign = new Campaign(Guid.NewGuid(), "", "VAB", new DateTime(2018, 04, 21), new DateTime(2018, 06, 22));

            testCampaign = null;
            using (var context = new SwitchFullyIntakeAppContext(CreateNewInMemoryDatabase()))
            {
                var log     = new LoggerManager();
                var repo    = new CampaignRepository(context);
                var service = new CampaignService(repo, log);

                var exc = await Assert.ThrowsAsync <NullReferenceException>(async() => await service.CreateNewCampaign(testCampaign));
            }
        }
예제 #2
0
        public async void GivenCreateNewCampaign_whenCreatingANewCampaign_ThenCampaignIsCreated()
        {
            var testCampaign = Campaign.CreateNewCampaign("java", "VAB", new DateTime(2018, 04, 21), new DateTime(2018, 06, 22));

            using (var context = new SwitchFullyIntakeAppContext(CreateNewInMemoryDatabase()))
            {
                var log     = new LoggerManager();
                var repo    = new CampaignRepository(context);
                var service = new CampaignService(repo, log);
                var result  = await service.CreateNewCampaign(testCampaign);

                Assert.True(context.Campaigns.SingleOrDefaultAsync(r => r.CampaignId == testCampaign.CampaignId) != null);
            }
        }
예제 #3
0
        public async void GivenGetSingleCampaignUnHappyPath_whenASingleCampaignIsRequestedAndNotFound_ReturnTheCampaign()
        {
            var testCampaign = Campaign.CreateNewCampaign("java", "VAB", new DateTime(2018, 04, 21), new DateTime(2018, 06, 22));

            using (var context = new SwitchFullyIntakeAppContext(CreateNewInMemoryDatabase()))
            {
                var log     = new LoggerManager();
                var repo    = new CampaignRepository(context);
                var service = new CampaignService(repo, log);
                var result  = await service.GetSingleCampaignByID(Guid.NewGuid().ToString());

                Assert.Null(result);
            }
        }
예제 #4
0
        public async void GivenGetSingleCampaignHappyPath_whenASingleCampaignIsRequested_ReturnTheCampaign()
        {
            var testCampaign = Campaign.CreateNewCampaign("java", "VAB", new DateTime(2018, 04, 21), new DateTime(2018, 06, 22));

            using (var context = new SwitchFullyIntakeAppContext(CreateNewInMemoryDatabase()))
            {
                context.Campaigns.Add(testCampaign);
                await context.SaveChangesAsync();

                var log     = new LoggerManager();
                var repo    = new CampaignRepository(context);
                var service = new CampaignService(repo, log);
                var result  = await service.GetSingleCampaignByID(testCampaign.CampaignId.ToString());

                Assert.Equal(testCampaign.CampaignId.ToString(), result.CampaignId.ToString());
            };
        }
예제 #5
0
        public async void GivenGetAllCampaigns_whenAllCampaignsRequested_ReturnAllCampaigns()
        {
            var testCampaign = Campaign.CreateNewCampaign("java", "VAB", new DateTime(2018, 04, 21), new DateTime(2018, 06, 22));

            using (var context = new SwitchFullyIntakeAppContext(CreateNewInMemoryDatabase()))
            {
                context.Campaigns.Add(testCampaign);
                await context.SaveChangesAsync();

                var log     = new LoggerManager();
                var repo    = new CampaignRepository(context);
                var service = new CampaignService(repo, log);
                var result  = await service.GetAllCampaigns();

                Assert.IsType <List <Campaign> >(result);
                Assert.NotEmpty(result);
            };
        }
 public FileRepository(SwitchFullyIntakeAppContext context)
 {
     _context = context;
 }
 public CampaignRepository(SwitchFullyIntakeAppContext context)
 {
     _context = context;
 }
예제 #8
0
 public CandidateRepository(SwitchFullyIntakeAppContext context)
 {
     _context = context;
 }
예제 #9
0
 public ScreeningRepository(SwitchFullyIntakeAppContext context)
 {
     _context = context;
 }
예제 #10
0
 public JobApplicationRepository(SwitchFullyIntakeAppContext context)
 {
     _context = context;
 }