Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
            }
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
            }
        }