public void TestGetCreatedTimeJobAds() { var range = new DateTimeRange(DateTime.Today.AddDays(-1), DateTime.Today); var employer = CreateEmployer(); // No job ads. var jobAdIds = _jobAdsQuery.GetOpenJobAdIds(range); Assert.AreEqual(0, jobAdIds.Count); // One job ad yesterday. CreateJobAd(employer, DateTime.Now); var yesterday = CreateJobAd(employer, DateTime.Now.AddDays(-1)); CreateJobAd(employer, DateTime.Now.AddDays(-2)); jobAdIds = _jobAdsQuery.GetOpenJobAdIds(range); Assert.AreEqual(1, jobAdIds.Count); Assert.AreEqual(yesterday.Id, jobAdIds[0]); // Three job ads yesterday. var yesterday2 = CreateJobAd(employer, DateTime.Now.AddDays(-1).AddSeconds(1)); var yesterday3 = CreateJobAd(employer, DateTime.Now.AddDays(-1).AddSeconds(-2)); jobAdIds = _jobAdsQuery.GetOpenJobAdIds(range); Assert.IsTrue(jobAdIds.CollectionEqual(new[] { yesterday.Id, yesterday2.Id, yesterday3.Id })); }
public void TestJob() { var employer = CreateEmployer(); ExecuteTask(false, "SampleJob.xml"); var jobAds = _jobAdsQuery.GetJobAds <JobAd>(_jobAdsQuery.GetOpenJobAdIds(employer.Id)); Assert.AreEqual(1, jobAds.Count); Assert.AreEqual("118204981", jobAds[0].Integration.IntegratorReferenceId); Assert.AreEqual("200116851", jobAds[0].Integration.ExternalReferenceId); Assert.AreEqual("Change Analyst / Process Analyst", jobAds[0].Title); }
public void TestSalaryUpTo() { var employer = CreateEmployer(); CreateJobAd(employer, "Fantastic opportunity up to $90k", null, null); _jobAdSalariesParserCommand.ParseJobAdSalaries(true); var ads = _jobAdsQuery.GetJobAds <JobAd>(_jobAdsQuery.GetOpenJobAdIds()); Assert.AreEqual(1, ads.Count); Assert.AreEqual(90000M * SalaryConversionMaxToMin, ads[0].Description.ParsedSalary.LowerBound); Assert.AreEqual(90000M, ads[0].Description.ParsedSalary.UpperBound); }
private void CloseJobAds(Guid posterId, IDictionary <Guid, bool> hasCredits) { if (HasApplicantCredits(posterId, hasCredits)) { return; } // No active allocations so close all their job ads. var jobAdIds = _jobAdsQuery.GetOpenJobAdIds(posterId); var jobAds = _jobAdsQuery.GetJobAds <JobAd>(jobAdIds); foreach (var jobAd in jobAds) { _jobAdsCommand.CloseJobAd(jobAd); } }
private IDictionary <string, IList <JobAd> > GetJobsAds() { // Get all open job ads that were created yesterday. var jobAdIds = _jobAdsQuery.GetOpenJobAdIds(new DateTimeRange(DateTime.Today.AddDays(-1), DateTime.Today)); // Group the job ads by contact email address. var jobAdsByEmailAddress = new Dictionary <string, IList <JobAd> >(StringComparer.CurrentCultureIgnoreCase); var jobAds = _jobAdsQuery.GetJobAds <JobAd>(jobAdIds); foreach (var jobAd in jobAds) { // Use the contact details email address. if (jobAd.ContactDetails == null) { continue; } var emailAddress = jobAd.ContactDetails.EmailAddress; if (string.IsNullOrEmpty(emailAddress)) { continue; } IList <JobAd> list; if (!jobAdsByEmailAddress.TryGetValue(emailAddress, out list)) { list = new List <JobAd>(); jobAdsByEmailAddress.Add(emailAddress, list); } list.Add(jobAd); } return(jobAdsByEmailAddress); }