public void TestCreateResumeFile()
        {
            var candidateId = Guid.NewGuid();

            _candidatesCommand.CreateCandidate(new Candidate {
                Id = candidateId
            });

            var file = _filesCommand.CreateTestFile(FileType.Resume);
            var resumeFileReference = new ResumeFileReference {
                FileReferenceId = file.Id
            };

            _candidateResumeFilesCommand.CreateResumeFile(candidateId, resumeFileReference);

            Assert.AreNotEqual(Guid.Empty, resumeFileReference.Id);
            Assert.AreNotEqual(DateTime.MinValue, resumeFileReference.UploadedTime);
            Assert.AreNotEqual(DateTime.MinValue, resumeFileReference.LastUsedTime);

            AssertResumeFile(resumeFileReference, _candidateResumeFilesQuery.GetResumeFile(candidateId, file.Id));
            var resumeFileReferences = _candidateResumeFilesQuery.GetResumeFiles(candidateId);

            Assert.AreEqual(1, resumeFileReferences.Count);
            AssertResumeFile(resumeFileReference, resumeFileReferences[0]);
            AssertResumeFile(resumeFileReference, _candidateResumeFilesQuery.GetLastUsedResumeFile(candidateId));
        }
Esempio n. 2
0
        protected void AssertResumeFiles(Guid memberId, params Guid[] fileReferenceIds)
        {
            var resumeFiles = _candidateResumeFilesQuery.GetResumeFiles(memberId);

            Assert.AreEqual(fileReferenceIds.Length, resumeFiles.Count);
            foreach (var fileReferenceId in fileReferenceIds)
            {
                Assert.IsTrue((from r in resumeFiles where r.FileReferenceId == fileReferenceId select r).Any());
            }

            foreach (var fileReferenceId in fileReferenceIds)
            {
                var resumeFile = _candidateResumeFilesQuery.GetResumeFile(memberId, fileReferenceId);
                Assert.AreEqual(fileReferenceId, resumeFile.FileReferenceId);
            }
        }
Esempio n. 3
0
        private void AssertCandidateResume(string emailAddress, string expectedFileName, Guid?fileReferenceId, Guid?parsedResumeId)
        {
            var memberId  = _loginCredentialsQuery.GetUserId(emailAddress);
            var candidate = _candidatesQuery.GetCandidate(memberId.Value);
            var resume    = _resumesQuery.GetResume(candidate.ResumeId.Value);

            // FileReference should always be created.

            Assert.IsNotNull(fileReferenceId);
            AssertFileReference(expectedFileName, fileReferenceId.Value);

            // Even if the resume was not parsed the file should still be saved against the member.

            var resumeFile1 = _candidateResumeFilesQuery.GetResumeFile(memberId.Value, fileReferenceId.Value);

            AssertResumeFileReference(fileReferenceId.Value, resumeFile1);

            if (parsedResumeId != null)
            {
                // Parsed with no errors so the resume should be associated with the file reference.

                var resumeFile2 = _candidateResumeFilesQuery.GetResumeFile(resume.Id);
                Assert.AreEqual(resumeFile1.Id, resumeFile2.Id);
                AssertResumeFileReference(fileReferenceId.Value, resumeFile2);
            }
            else
            {
                // There was a problem parsing the resume so the file references should be there, but the resume itself should not be associated with the file.

                Assert.IsNull(_candidateResumeFilesQuery.GetResumeFile(resume.Id));
            }

            // Check all resume files for the member.

            var resumeFiles = _candidateResumeFilesQuery.GetResumeFiles(memberId.Value);

            Assert.AreEqual(1, resumeFiles.Count);
            Assert.AreEqual(resumeFile1.Id, resumeFiles[0].Id);
            AssertResumeFileReference(fileReferenceId.Value, resumeFiles[0]);
        }
Esempio n. 4
0
        public void TestOverrideParse()
        {
            var member    = CreateMember(0);
            var candidate = _candidatesQuery.GetCandidate(member.Id);

            _candidateResumesCommand.AddTestResume(candidate);

            // Confirm resume.

            candidate = _candidatesQuery.GetCandidate(member.Id);
            Assert.IsNotNull(candidate.ResumeId);
            var resume1 = _resumesQuery.GetResume(candidate.ResumeId.Value);

            Assert.IsNotNull(resume1);

            Assert.AreEqual(0, _candidateResumeFilesQuery.GetResumeFiles(member.Id).Count);
            Assert.IsNull(_candidateResumeFilesQuery.GetResumeFile(resume1.Id));

            LogIn(member);

            // Upload and parse.

            var fileReferenceId1 = Upload(TestResume.Complete, "Resume.doc");

            AssertJsonSuccess(Parse(fileReferenceId1));

            // Confirm resume.

            candidate = _candidatesQuery.GetCandidate(member.Id);
            Assert.IsNotNull(candidate.ResumeId);
            var resume2 = _resumesQuery.GetResume(candidate.ResumeId.Value);

            Assert.IsNotNull(resume2);
            Assert.AreEqual(resume1.Id, resume2.Id);

            // Show that the resume is associated with the uploaded file.

            var references = _candidateResumeFilesQuery.GetResumeFiles(member.Id);

            Assert.AreEqual(1, references.Count);
            var resumeFileReference1 = references[0];
            var resumeFileReference2 = _candidateResumeFilesQuery.GetResumeFile(member.Id, fileReferenceId1);
            var resumeFileReference3 = _candidateResumeFilesQuery.GetResumeFile(resume2.Id);

            Assert.AreEqual(fileReferenceId1, resumeFileReference1.FileReferenceId);
            Assert.AreEqual(fileReferenceId1, resumeFileReference2.FileReferenceId);
            Assert.AreEqual(fileReferenceId1, resumeFileReference3.FileReferenceId);
            Assert.AreEqual(resumeFileReference1.Id, resumeFileReference2.Id);
            Assert.AreEqual(resumeFileReference1.Id, resumeFileReference3.Id);

            // Upload and parse another resume.

            var fileReferenceId2 = Upload(TestResume.NoPhoneNumber, "Resume.doc");

            AssertJsonSuccess(Parse(fileReferenceId2));

            // Confirm resume.

            candidate = _candidatesQuery.GetCandidate(member.Id);
            Assert.IsNotNull(candidate.ResumeId);
            var resume3 = _resumesQuery.GetResume(candidate.ResumeId.Value);

            Assert.IsNotNull(resume3);
            Assert.AreEqual(resume1.Id, resume2.Id);
            Assert.AreEqual(resume1.Id, resume3.Id);

            // Show that the resume is associated with the new uploaded file.

            references = _candidateResumeFilesQuery.GetResumeFiles(member.Id);
            Assert.AreEqual(2, references.Count);
            resumeFileReference1 = (from r in references where r.FileReferenceId == fileReferenceId1 select r).Single();
            resumeFileReference2 = (from r in references where r.FileReferenceId == fileReferenceId2 select r).Single();

            resumeFileReference3 = _candidateResumeFilesQuery.GetResumeFile(member.Id, fileReferenceId1);
            var resumeFileReference4 = _candidateResumeFilesQuery.GetResumeFile(member.Id, fileReferenceId2);

            var resumeFileReference5 = _candidateResumeFilesQuery.GetResumeFile(resume3.Id);

            Assert.AreEqual(fileReferenceId1, resumeFileReference1.FileReferenceId);
            Assert.AreEqual(fileReferenceId2, resumeFileReference2.FileReferenceId);
            Assert.AreEqual(fileReferenceId1, resumeFileReference3.FileReferenceId);
            Assert.AreEqual(fileReferenceId2, resumeFileReference4.FileReferenceId);
            Assert.AreEqual(fileReferenceId2, resumeFileReference5.FileReferenceId);

            Assert.AreEqual(resumeFileReference1.Id, resumeFileReference3.Id);
            Assert.AreEqual(resumeFileReference2.Id, resumeFileReference4.Id);
            Assert.AreEqual(resumeFileReference2.Id, resumeFileReference5.Id);
        }