private void UploadResume(TestResume resume) { Guid fileReferenceId; // Upload the file. const string fileName = "Resume.doc"; using (var tempFiles = _filesCommand.SaveTempFile(resume.GetData(), fileName)) { var files = new NameValueCollection { { "file", tempFiles.FilePaths[0] } }; fileReferenceId = new JavaScriptSerializer().Deserialize <JsonResumeModel>(Post(_uploadUrl, null, files)).Id; } // Parse the file. var parsedResumeId = new JavaScriptSerializer().Deserialize <JsonParsedResumeModel>(Post(_parseUrl, new NameValueCollection { { "fileReferenceId", fileReferenceId.ToString() } })).Id.Value; // Submit the form. Get(_joinUrl); Browser.SetFormVariable(_joinFormId, "fileReferenceId", fileReferenceId.ToString(), false); Browser.SetFormVariable(_joinFormId, "parsedResumeId", parsedResumeId.ToString(), false); Browser.Submit(_joinFormId); }
private void TestParse(TestResume testResume, string fileName) { var member = CreateMember(0); var candidate = _candidatesQuery.GetCandidate(member.Id); Assert.IsNull(candidate.ResumeId); LogIn(member); // Upload and parse. var fileReferenceId = Upload(testResume, fileName); var model = Parse(fileReferenceId); // Assert. AssertJsonSuccess(model); AssertResumeFile(member.Id, fileReferenceId); candidate = _candidatesQuery.GetCandidate(member.Id); Assert.IsNotNull(candidate.ResumeId); var resume = _resumesQuery.GetResume(candidate.ResumeId.Value); Assert.IsNotNull(resume); // Show that the resume is associated with the uploaded file. var resumeFileReference1 = _candidateResumeFilesQuery.GetResumeFile(member.Id, fileReferenceId); var resumeFileReference2 = _candidateResumeFilesQuery.GetResumeFile(resume.Id); Assert.AreEqual(fileReferenceId, resumeFileReference1.FileReferenceId); Assert.AreEqual(fileReferenceId, resumeFileReference2.FileReferenceId); Assert.AreEqual(resumeFileReference1.Id, resumeFileReference2.Id); }
private Guid Upload(TestResume resume, string fileName) { using (var files = _filesCommand.SaveTempFile(resume.GetData(), fileName)) { var path = files.FilePaths[0]; return(Upload(path)); } }
private FileReference GetResumeFile(TestResume testResume) { const string fileName = "resume.doc"; var data = testResume.GetData(); using (var stream = new MemoryStream(data)) { return(_filesCommand.SaveFile(FileType.Resume, new StreamFileContents(stream), fileName)); } }
private static void Save(TestResume resume) { var data = resume.GetData(); var filePath = FileSystem.GetAbsolutePath(@"Test\Data\Resumes\" + resume.FileName, RuntimeEnvironment.GetSourceFolder()); using (var stream = new MemoryStream(data)) { stream.Position = 0; using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None)) { StreamUtil.CopyStream(stream, fileStream); } } }
public void TestAddCandidateAndResumeTogether() { TestCandidate candidate = new TestCandidate(); candidate.Name = "Mohan"; TestResume resume = new TestResume(); resume.IsFresher = true; Relation.Set(candidate, resume); candidate = SaveAndReFetch(candidate); Assert.AreEqual(Relation.Get <TestCandidate, TestResume>(candidate).IsFresher, true); }
private void Test(TestResume testResume, string fileName) { // Upload the file. var fileReferenceId = Upload(testResume, fileName); // Parse the resume. var parsedResumeId = Parse(fileReferenceId, testResume); // Join. Get(GetJoinUrl()); SubmitJoin(fileReferenceId, parsedResumeId); var instanceId = GetInstanceId(); var member = CreateMember(FirstName, LastName, EmailAddress); UpdateMember(member, MobilePhoneNumber, PhoneNumberType.Mobile, Location); UpdateMember(member, Gender, DateOfBirth); var candidate = CreateCandidate(); UpdateCandidate(candidate, SalaryLowerBound, SalaryRate); SubmitPersonalDetails(instanceId, member, candidate, Password); // Make sure a resume is created. var resume = CreateResume(); if (testResume != TestResume.Complete) { resume.Jobs = new List <Job> { new Job { Title = NewJobTitle } } } ; SubmitJobDetails(instanceId, member, candidate, resume, false, null, parsedResumeId != null); // Assert. AssertCandidateResume(member.GetBestEmailAddress().Address, fileName, fileReferenceId, parsedResumeId); }
private void AssertFile(Stream stream, TestResume testResume) { Assert.AreEqual("application/msword", GetContentType()); var contents = new byte[0]; using (var reader = new BinaryReader(stream)) { var buffer = new byte[1024]; var read = reader.Read(buffer, 0, 1024); while (read != 0) { contents = contents.Concat(buffer.Take(read)).ToArray(); read = reader.Read(buffer, 0, 1024); } } // Check got resume file. Assert.IsTrue(testResume.GetData().SequenceEqual(contents)); }
private void Test(TestResume testResume, string fileName) { // Upload the file. var fileReferenceId = Upload(testResume, fileName); // Parse the resume. var parsedResumeId = Parse(fileReferenceId); // Join. Get(GetJoinUrl()); SubmitJoin(fileReferenceId, parsedResumeId); var instanceId = GetInstanceId(); var parsedResume = testResume.GetParsedResume(); var member = GetMember(parsedResume); var candidate = GetCandidate(); AssertPersonalDetails(instanceId, member, candidate, string.Empty, string.Empty, false); }
private Guid?Parse(Guid?fileReferenceId, TestResume resume) { var response = Post(_parseUrl, new NameValueCollection { { "fileReferenceId", fileReferenceId.ToString() } }); var model = new JavaScriptSerializer().Deserialize <JsonParsedResumeModel>(response); if (resume == TestResume.Invalid || resume == TestResume.Empty) { AssertJsonError(model, null, "Our system is unable to extract your profile information from this file. Please try another document or create your profile manually."); return(null); } if (resume == TestResume.Unavailable) { AssertJsonError(model, null, "Our system is unable to extract your profile information from this file at this time. Please try again later or create your profile manually. We apologise for the inconvenience."); return(null); } AssertJsonSuccess(model); return(model.Id); }
protected void CreateMember(TestResume testResume, out Member member, out Candidate candidate, out Resume resume) { // Member. member = CreateMember(); // Candidate. candidate = _candidatesQuery.GetCandidate(member.Id); candidate.DesiredJobTitle = DesiredJobTitle; candidate.DesiredJobTypes = JobTypes.FullTime | JobTypes.JobShare; candidate.DesiredSalary = new Salary { LowerBound = SalaryLowerBound, Rate = SalaryRate.Year, Currency = Currency.AUD }; candidate.HighestEducationLevel = EducationLevel.Postgraduate; var industries = _industriesQuery.GetIndustries(); candidate.Industries = new List <Industry> { industries[1], industries[2] }; candidate.RecentProfession = Profession.Science; candidate.RecentSeniority = Seniority.MidSenior; candidate.RelocationPreference = RelocationPreference.Yes; var country = _locationQuery.GetCountry(Country); candidate.RelocationLocations = new List <LocationReference> { _locationQuery.ResolveLocation(country, RelocationLocation) }; candidate.Status = CandidateStatus.AvailableNow; candidate.VisaStatus = VisaStatus.RestrictedWorkVisa; _candidatesCommand.UpdateCandidate(candidate); // Resume. resume = testResume.GetParsedResume().Resume; _candidateResumesCommand.CreateResume(candidate, resume); }