public Campaign CampaignDTOCreateToCampaign(CampaignDTO_Create campaignDTO) { var campaign = Campaign.CreateNewCampaign( campaignDTO.Name, campaignDTO.Client, campaignDTO.StartDate, campaignDTO.EndDate); return(campaign); }
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); } }
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); } }
public void GivenCampaignToCampaignDTOReturn_WhenCreatingACampaignDTOReturnFromCampaign_ThenCampaignDTOReturnIsCreated() { Campaign campaign = Campaign.CreateNewCampaign( "java", "vab", new DateTime(2018, 06, 21), new DateTime(2018, 09, 25)); var campaignMapper = new CampaignMapper(); var result = campaignMapper.CampaignToCampaignDTOReturn(campaign); Assert.Equal("java", result.Name); Assert.Equal("vab", result.Client); Assert.True(result.Status == false); }
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()); }; }
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); }; }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <User>() .ToTable("Users") .HasKey(u => u.Id); modelBuilder.Entity <User>() .OwnsOne(u => u.Email, email => { email.Property(prop => prop.Address).HasColumnName("Email"); } ); modelBuilder.Entity <User>() .OwnsOne(u => u.SecurePassword, securePass => { securePass.Property(prop => prop.PasswordHash).HasColumnName("PassWord"); securePass.Property(prop => prop.Salt).HasColumnName("SecPass"); }); modelBuilder.Entity <User>(u => { var userId = Guid.NewGuid(); u.HasData(new { Id = userId, FirstName = "test", LastName = "user", RoleId = 1, }); u.OwnsOne(m => m.Email).HasData(new { UserId = userId, Address = "*****@*****.**" }); var temp = new UserSecurity("r5iPEDa9yVsW9s1Jr7j3fEpepSjT+oLu+4gUG6o7sMI=", "nhSRFAcAR6lgnY40PZi4iw=="); u.OwnsOne(us => us.SecurePassword).HasData(new { UserId = userId, PassWordHash = "r5iPEDa9yVsW9s1Jr7j3fEpepSjT+oLu+4gUG6o7sMI=", Salt = "nhSRFAcAR6lgnY40PZi4iw==" }); }); modelBuilder.Entity <Candidate>() .ToTable("Candidates") .HasKey(c => c.Id); modelBuilder.Entity <Candidate>() .OwnsOne(c => c.Email, email => { email.Property(prop => prop.Address).HasColumnName("Email"); } ); modelBuilder.Entity <Campaign>() .ToTable("Campaign") .HasKey(key => key.CampaignId); modelBuilder.Entity <Campaign>() .Ignore(prop => prop.Status) .HasData( Campaign.CreateNewCampaign("asp.net", "CM", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)), Campaign.CreateNewCampaign("java", "Cegeka", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)), Campaign.CreateNewCampaign("asp.net", "OZ", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)) ); modelBuilder.Entity <JobApplication>() .ToTable("JobApplication") .HasKey(jp => jp.Id); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Candidate) .WithMany() .HasForeignKey(jp => jp.CandidateId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Campaign) .WithMany() .HasForeignKey(jp => jp.CampaignId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Status) .WithMany() .HasForeignKey(jp => jp.StatusId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.CV) .WithMany() .HasForeignKey(jp => jp.CvId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Motivation) .WithMany() .HasForeignKey(jp => jp.MotivationId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <File>() .ToTable("Files") .HasKey(fu => fu.Id); modelBuilder.Entity <Status>() .HasData( new Status(1, "Inactive"), new Status(2, "Active"), new Status(3, "Rejected"), new Status(4, "Accepted") ); modelBuilder.Entity <Screening>() .ToTable("Screening") .HasKey(screeningKey => new { screeningKey.JobApplicationId, screeningKey.Name }); modelBuilder.Entity <Screening>() .HasDiscriminator <string>("screeningType"); modelBuilder.Entity <CV_Screening>(); modelBuilder.Entity <FinalDecision_Screening>(); modelBuilder.Entity <FirstInterview_Screening>(); modelBuilder.Entity <GroupInterview_Screening>(); modelBuilder.Entity <Phone_Screening>(); modelBuilder.Entity <TestResults_Screening>(); modelBuilder.Entity <Screening>() .HasOne(scr => scr.JobApplication) .WithMany(jp => jp.Screening) .HasForeignKey(j => j.JobApplicationId); base.OnModelCreating(modelBuilder); }