public void TestNewJobAd() { var member = CreateMember(); var folder = _jobAdFoldersQuery.GetFolders(member)[0]; var searchQuery = new JobAdSearchQuery { AdTitle = Expression.Parse(Title) }; var sortQuery = new JobAdSortQuery(); // Do some searches. var results = _searchService1.Search(null, searchQuery); Assert.AreEqual(0, results.JobAdIds.Count); results = _searchService2.Search(null, searchQuery); Assert.AreEqual(0, results.JobAdIds.Count); results = _sortService1.SortFolder(member.Id, folder.Id, sortQuery); Assert.AreEqual(0, results.JobAdIds.Count); results = _sortService2.SortFolder(member.Id, folder.Id, sortQuery); Assert.AreEqual(0, results.JobAdIds.Count); // Add a job ad. var employer = CreateEmployer(); LogIn(employer); Get(_newJobAdUrl); CreateJobAd(employer.EmailAddress.Address); _previewButton.Click(); _publishButton.Click(); LogOut(); // Add it to the folder. var jobAd = _jobAdsQuery.GetJobAds <JobAdEntry>(_jobAdsQuery.GetJobAdIds(employer.Id, JobAdStatus.Open))[0]; _memberJobAdListsCommand.AddJobAdToFolder(member, folder, jobAd.Id); // Do some searches again. results = _searchService1.Search(null, searchQuery); Assert.AreEqual(1, results.JobAdIds.Count); Assert.AreEqual(jobAd.Id, results.JobAdIds[0]); results = _sortService1.SortFolder(member.Id, folder.Id, sortQuery); Assert.AreEqual(1, results.JobAdIds.Count); Assert.AreEqual(jobAd.Id, results.JobAdIds[0]); // Wait for the polling to kick in. Thread.Sleep(3 * MonitorInterval * 1000); results = _searchService2.Search(null, searchQuery); Assert.AreEqual(1, results.JobAdIds.Count); Assert.AreEqual(jobAd.Id, results.JobAdIds[0]); results = _sortService2.SortFolder(member.Id, folder.Id, sortQuery); Assert.AreEqual(1, results.JobAdIds.Count); Assert.AreEqual(jobAd.Id, results.JobAdIds[0]); }