public void GivenJobApplication_whenEndOfSelectionProcess_ThenCountWillNotChange() { //given var appId = Guid.NewGuid(); var newJobApplication = new JobApplicationBuilder() .WithId(appId) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); //When _jobApplicationRepository.Get(appId).Returns(newJobApplication); var updatedJobApplication = _jobApplicationService.GoToNextSelectionStepInSelectionProcess(appId.ToString()); for (int i = 0; i < SelectionStep.CountofStepsInSelectionProcess + 1; i++) { _jobApplicationRepository.Get(appId).Returns(updatedJobApplication); updatedJobApplication = _jobApplicationService.GoToNextSelectionStepInSelectionProcess(appId.ToString()); } //Then Assert.Equal(updatedJobApplication.SelectionSteps.Count, _jobApplicationService.GoToNextSelectionStepInSelectionProcess(appId.ToString()).SelectionSteps.Count); }
public void GivenJobApplication_WhenCurrentSelectionIsnull_ThenFirstSelectionIsSetToCVScreening() { var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); var selectionStep = new CvScreening(); newJobApplication.GotoNextSelectionStep(); Assert.Equal(selectionStep.Description, newJobApplication.CurrentSelectionStep.Description); }
public void GivenJobApplication_whenUpdateFirstTime_ThenSelectionStepChangedToNextLevelAndListWillReturnCount_1() { //given var appId = Guid.NewGuid(); var newJobApplication = new JobApplicationBuilder() .WithId(appId) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); //When _jobApplicationRepository.Get(appId).Returns(newJobApplication); var updatedJobApplication = _jobApplicationService.GoToNextSelectionStepInSelectionProcess(appId.ToString()); //Then Assert.Single(updatedJobApplication.SelectionSteps); }
public void GivenJobApplication_WhenLastSelectionStepFilledIn_ThenCurrentWillStayUnChanged() { var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); var selectionStep = new FinalDecision(); for (int i = 0; i < SelectionStep.CountofStepsInSelectionProcess + 1; i++) { newJobApplication.GotoNextSelectionStep(); } Assert.Equal(selectionStep.Description, newJobApplication.CurrentSelectionStep.Description); newJobApplication.GotoNextSelectionStep(); Assert.Equal(selectionStep.Description, newJobApplication.CurrentSelectionStep.Description); }
public void GivenNewJobapplication_WhenSavingNewJobapplication_ThenJobapplicationIsSaved() { using (var context = new SwintakeContext(_options)) { //Given var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); _jobApplicationRepository = new JobApplicationRepository(context); //When _jobApplicationRepository.Save(newJobApplication); //Then Assert.Contains(newJobApplication, context.JobApplications); } }
public void GivenNewJobApplicationWithExistingCampaignIdAndNonCandidateId_whenAddJobApplication_ThenNoCallToJobApplicationRepositoryAndEntityNotFoundException() { //Given var janneke = new CandidateBuilder() .WithId(Guid.NewGuid()) .WithFirstName("Janneke") .WithLastName("Janssens") .WithEmail("*****@*****.**") .WithPhoneNumber("0470000000") .WithGitHubUsername("janneke") .WithLinkedIn("janneke") .Build(); var testCampaign = new CampaignBuilder() .WithId(Guid.NewGuid()) .WithName("testName") .WithClient("testClient") .WithStatus(CampaignStatus.Active) .WithStartDate(DateTime.Today.AddDays(5)) .WithClassStartDate(DateTime.Today.AddDays(5)) .WithComment("testComment") .Build(); var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(testCampaign.Id) .WithStatus(StatusJobApplication.Active) .Build(); _candidateService.GetCandidateById(newJobApplication.CandidateId.ToString()).Returns(ex => { throw new EntityNotFoundException("test info", "candidate", newJobApplication.CandidateId); }); _campaignService.GetCampaignByID(newJobApplication.CampaignId.ToString()).Returns(testCampaign); //When Action act = () => _jobApplicationService.AddJobApplication(newJobApplication); //Then _jobApplicationRepository.DidNotReceive().Save(newJobApplication); Assert.Throws <EntityNotFoundException>(act); }
public void GivenExistingJobApplication_WhenRejectingJobApplication_ThenJobApplicationIsRemoved() { using (var context = new SwintakeContext(_options)) { //Given var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); _jobApplicationRepository = new JobApplicationRepository(context); _jobApplicationRepository.Save(newJobApplication); //When newJobApplication.SetNewStatus(StatusJobApplication.Rejected); //then Assert.Equal(StatusJobApplication.Rejected, newJobApplication.Status); } }
public void GivenNewJobApplicationWithExistingCampaignIdAnCandidateId_whenAddJobApplication_ThenCallToJobApplicationRepository() { //Given var janneke = new CandidateBuilder() .WithId(Guid.NewGuid()) .WithFirstName("Janneke") .WithLastName("Janssens") .WithEmail("*****@*****.**") .WithPhoneNumber("0470000000") .WithGitHubUsername("janneke") .WithLinkedIn("janneke") .Build(); var testCampaign = new CampaignBuilder() .WithId(Guid.NewGuid()) .WithName("testName") .WithClient("testClient") .WithStatus(CampaignStatus.Active) .WithStartDate(DateTime.Today.AddDays(5)) .WithClassStartDate(DateTime.Today.AddDays(5)) .WithComment("testComment") .Build(); var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(janneke.Id) .WithCampaignId(testCampaign.Id) .WithStatus(StatusJobApplication.Active) .Build(); _candidateService.GetCandidateById(newJobApplication.CandidateId.ToString()).Returns(janneke); _campaignService.GetCampaignByID(newJobApplication.CampaignId.ToString()).Returns(testCampaign); //When _jobApplicationService.AddJobApplication(newJobApplication); //Then _jobApplicationRepository.Received().Save(newJobApplication); }
public void GivenExistingJobApplication_WhenRejectJobApplication_ThenJobApplicationIsRemoved() { //Given var janneke = new CandidateBuilder() .WithId(Guid.NewGuid()) .WithFirstName("Janneke") .WithLastName("Janssens") .WithEmail("*****@*****.**") .WithPhoneNumber("0470000000") .WithGitHubUsername("janneke") .WithLinkedIn("janneke") .Build(); var testCampaign = new CampaignBuilder() .WithId(Guid.NewGuid()) .WithName("testName") .WithClient("testClient") .WithStatus(CampaignStatus.Active) .WithStartDate(DateTime.Today.AddDays(5)) .WithClassStartDate(DateTime.Today.AddDays(5)) .WithComment("testComment") .Build(); var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(janneke.Id) .WithCampaignId(testCampaign.Id) .WithStatus(StatusJobApplication.Active) .Build(); _jobApplicationRepository.Get(newJobApplication.Id).Returns(newJobApplication); //When var updatedJobapplication = _jobApplicationService.RejectJobApplication(newJobApplication.Id.ToString()); //Then Assert.Equal(StatusJobApplication.Rejected, updatedJobapplication.Status); }
public void GivenJobapplication_WhenUpdate_ThenUpdateJobApplicationInContext() { using (var context = new SwintakeContext(_options)) { var newJobApplication = new JobApplicationBuilder() .WithId(Guid.NewGuid()) .WithCandidateId(Guid.NewGuid()) .WithCampaignId(Guid.NewGuid()) .WithStatus(StatusJobApplication.Active) .Build(); _jobApplicationRepository = new JobApplicationRepository(context); _jobApplicationRepository.Save(newJobApplication); newJobApplication.Status = StatusJobApplication.Hired; _jobApplicationRepository.Update(newJobApplication); var jobapplication = context.JobApplications.SingleOrDefault(jobapp => jobapp.Id == newJobApplication.Id); Assert.Equal(StatusJobApplication.Hired, jobapplication.Status); } }