public void TestBlockList() { var employer = CreateEmployer(0, EmployerSubRole.Employer); var path = "~/employers/candidates/blocklists/" + _candidateBlockListsQuery.GetPermanentBlockList(employer).BlockListType; TestCanAccess(path, employer); employer = CreateEmployer(1, EmployerSubRole.Recruiter); path = "~/employers/candidates/blocklists/" + _candidateBlockListsQuery.GetPermanentBlockList(employer).BlockListType; TestCanAccess(path, employer); TestCannotAccess(path, CreateMember(2)); TestCannotAccess(path, CreateAdministrator(3)); TestCannotAccess(path, CreateCustodian(4)); }
public void TestPermanentlyBlocked() { const int count = 4; var members = new Member[count]; var candidates = new Candidate[count]; for (var index = 0; index < count; ++index) { members[index] = CreateMember(index); candidates[index] = _candidatesQuery.GetCandidate(members[index].Id); _candidateResumesCommand.AddTestResume(candidates[index]); } var employer = CreateEmployer(); var folder = _candidateFoldersQuery.GetShortlistFolder(employer); _candidateListsCommand.AddCandidatesToFolder(employer, folder, from m in members select m.Id); // All members shown. LogIn(employer); Get(GetFolderUrl(folder.Id)); AssertMembers(members); // Permanently block one. var memberId = members[1].Id; _candidateListsCommand.AddCandidateToBlockList(employer, _candidateBlockListsQuery.GetPermanentBlockList(employer), memberId); // Should be removed from folder as well. Get(GetFolderUrl(folder.Id)); AssertMembers((from m in members where m.Id != memberId select m).ToArray()); }
public void TestFilterBlockListId() { var member1 = CreateMember(1); var member2 = CreateMember(2); var employer = _employersCommand.CreateTestEmployer(1, _organisationsCommand.CreateTestOrganisation(1)); // Member1 in blockList. var blockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); _candidateListsCommand.AddCandidateToBlockList(employer, blockList, member1.Id); // Filter. TestFilter(new[] { member2.Id }, employer, new MemberSearchCriteria()); TestBlockListFilter(new[] { member1.Id }, employer, blockList.Id); }
public ActionResult BlockPermanentCandidates(Guid[] candidateIds) { try { // Look for the blocklist. var employer = CurrentEmployer; var blockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); // Add candidates. var count = _candidateListsCommand.AddCandidatesToBlockList(employer, blockList, candidateIds); return(Json(new JsonListCountModel { Id = blockList.Id, Count = count })); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(Json(new JsonResponseModel())); }
public void TestCandidateCount() { const int count = 5; var employer = CreateEmployer(1); var flaglist = _candidateFlagListsQuery.GetFlagList(employer); var member1 = CreateMember(1); _candidateListsCommand.AddCandidateToFlagList(employer, flaglist, member1.Id); for (var i = 1; i < count; i++) { var member = CreateMember(i + 1); _candidateListsCommand.AddCandidateToFlagList(employer, flaglist, member.Id); } var flagListCount = _candidateFlagListsQuery.GetFlaggedCount(employer); Assert.AreEqual(count, flagListCount); //Now block a member var tempBlockList = _candidateBlockListsQuery.GetTemporaryBlockList(employer); // Add candidate to Temporary Blocklist - should have no effect on folder count var tempBlockListCount = _candidateListsCommand.AddCandidateToBlockList(employer, tempBlockList, member1.Id); flagListCount = _candidateFlagListsQuery.GetFlaggedCount(employer); Assert.AreEqual(1, tempBlockListCount); Assert.AreEqual(count, flagListCount); //Now block the member permanently var permBlockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); // Add candidate to Permanent Blocklist - should have effect on folder count var permBlockListCount = _candidateListsCommand.AddCandidateToBlockList(employer, permBlockList, member1.Id); var tempBlockListCounts = _candidateBlockListsQuery.GetBlockedCounts(employer); flagListCount = _candidateFlagListsQuery.GetFlaggedCount(employer); //if the tempBlockListId isn't in the list there are zero entries Assert.AreEqual(false, tempBlockListCounts.ContainsKey(tempBlockList.Id)); Assert.AreEqual(1, permBlockListCount); Assert.AreEqual(count - 1, flagListCount); }
public void TestCandidateCount() { const int count = 5; var employer = CreateEmployer(1); var jobAd = CreateJobAd(employer); var list = _jobAdApplicantsQuery.GetApplicantList(employer, jobAd); var member1 = _membersCommand.CreateTestMember(1); _jobAdApplicantsCommand.ShortlistApplicants(employer, jobAd, new [] { member1.Id }); for (var i = 1; i < count; i++) { var member = CreateMember(i + 1); _jobAdApplicantsCommand.ShortlistApplicants(employer, jobAd, new[] { member.Id }); } var appListCount = _jobAdApplicantsQuery.GetApplicantCount(employer, list); Assert.AreEqual(count, appListCount); AssertCounts(employer, list, 0, count, 0); //Now block a member var tempBlockList = _candidateBlockListsQuery.GetTemporaryBlockList(employer); // Add candidate to Temporary Blocklist - should have no effect on folder count var tempBlockListCount = _candidateListsCommand.AddCandidateToBlockList(employer, tempBlockList, member1.Id); Assert.AreEqual(1, tempBlockListCount); AssertCounts(employer, list, 0, count, 0); //Now block the member permanently var permBlockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); // Add candidate to Permanent Blocklist - should have effect on folder count var permBlockListCount = _candidateListsCommand.AddCandidateToBlockList(employer, permBlockList, member1.Id); var tempBlockListCounts = _candidateBlockListsQuery.GetBlockedCounts(employer); //if the tempBlockListId isn't in the list there are zero entries Assert.AreEqual(false, tempBlockListCounts.ContainsKey(tempBlockList.Id)); Assert.AreEqual(1, permBlockListCount); AssertCounts(employer, list, 0, count - 1, 0); }
private void CreateLists(IEmployer employer) { _temporaryBlockList = _candidateBlockListsQuery.GetTemporaryBlockList(employer); _permanentBlockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); _flagList = _candidateFlagListsQuery.GetFlagList(employer); _privateFolder = new CandidateFolder { Name = "PrivateFolder" }; _candidateFoldersCommand.CreatePrivateFolder(employer, _privateFolder); _sharedFolder = new CandidateFolder { Name = "SharedFolder" }; _candidateFoldersCommand.CreateSharedFolder(employer, _sharedFolder); _shortlistFolder = _candidateFoldersQuery.GetShortlistFolder(employer); _mobileFolder = _candidateFoldersQuery.GetMobileFolder(employer); }
public void TestFoldersAndBlockLists() { const int count = 10; var members = new Member[count]; for (var index = 0; index < count; ++index) { members[index] = CreateMember(index); } var employer = CreateEmployer(1); var folder1 = CreatePrivateFolder(employer, 1); var folder2 = CreateSharedFolder(employer, 1); GetShortlistFolder(employer); GetMobileFolder(employer); _candidateBlockListsQuery.GetTemporaryBlockList(employer); _candidateBlockListsQuery.GetPermanentBlockList(employer); AssertFolders(employer, new[] { folder1, folder2 }, _candidateFoldersQuery.GetFolders(employer)); AssertBlockLists(employer, _candidateBlockListsQuery.GetBlockLists(employer)); }
private BlockListListModel BlockListResults(BlockListType blockListType, MemberSearchSortCriteria sortCriteria, CandidatesPresentationModel presentation) { var employer = CurrentEmployer; var blockList = blockListType == BlockListType.Temporary ? _candidateBlockListsQuery.GetTemporaryBlockList(employer) : _candidateBlockListsQuery.GetPermanentBlockList(employer); if (blockList == null) { return(null); } // Do a search to get the candidates in this blockList. var model = Search(employer, blockList.Id, sortCriteria, presentation); model.BlockList = blockList; model.SortOrders = SortOrders; model.Communities = _communitiesQuery.GetCommunities().ToDictionary(c => c.Id, c => c); model.Verticals = _verticalsQuery.GetVerticals().ToDictionary(v => v.Id, v => v); model.CurrentSearch = EmployerContext.CurrentSearch; return(model); }
public void TestBackToBlockList() { var employer = CreateEmployer(); var blockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); var members = CreateCandidates(40, employer, blockList); // Go to the folder. LogIn(employer); var url = GetBlockListUrl(blockList.BlockListType, null, null); Get(url); var candidateId = GetFirstCandidateId(); Get(GetFirstCandidateUrl()); AssertPath(GetCandidateUrl(members, candidateId)); Get(GetBackUrl("Back to block list")); Assert.AreEqual(url.PathAndQuery.ToLower(), Browser.CurrentUrl.PathAndQuery.ToLower()); // Change the paging. var newUrl = url.AsNonReadOnly(); newUrl.QueryString.Add("Page", 2.ToString(CultureInfo.InvariantCulture)); newUrl.QueryString.Add("Items", 10.ToString(CultureInfo.InvariantCulture)); Get(newUrl); candidateId = GetFirstCandidateId(); Get(GetFirstCandidateUrl()); AssertPath(GetCandidateUrl(members, candidateId)); Get(GetBackUrl("Back to block list")); Assert.AreEqual(newUrl.PathAndQuery.ToLower(), Browser.CurrentUrl.PathAndQuery.ToLower()); }
protected override ReadOnlyUrl GetBackToSearchUrl(IEmployer employer) { return(GetBlockListUrl(_candidateBlockListsQuery.GetPermanentBlockList(employer).BlockListType)); }
protected CandidateBlockList GetPermanentBlockList(IEmployer employer) { return _candidateBlockListsQuery.GetPermanentBlockList(employer); }
public void TestFoldersBlockLists() { var employer = CreateEmployer(0); var credit = _creditsQuery.GetCredit <ContactCredit>(); _allocationsCommand.CreateAllocation(new Allocation { CreditId = credit.Id, InitialQuantity = 100, OwnerId = employer.Id }); // Set up members which the employer can and cannot see and add them to the shortlist folder. var folder = _candidateFoldersQuery.GetShortlistFolder(employer); var blockList = _candidateBlockListsQuery.GetPermanentBlockList(employer); // Folder. var index = 0; var member = _memberAccountsCommand.CreateTestMember(++index); var candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToFolder(employer, folder, member.Id); member = _memberAccountsCommand.CreateTestMember(++index); candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToFolder(employer, folder, member.Id); member = _memberAccountsCommand.CreateTestMember(++index); candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToFolder(employer, folder, member.Id); member = _memberAccountsCommand.CreateTestMember(++index); candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToFolder(employer, folder, member.Id); // BlockList. member = _memberAccountsCommand.CreateTestMember(++index); candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToBlockList(employer, blockList, member.Id); member = _memberAccountsCommand.CreateTestMember(++index); candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToBlockList(employer, blockList, member.Id); member = _memberAccountsCommand.CreateTestMember(++index); candidate = _candidatesQuery.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); _employerMemberViewsCommand.AccessMember(_app, employer, _employerMemberViewsQuery.GetProfessionalView(employer, member), MemberAccessReason.Unlock); _candidateListsCommand.AddCandidateToBlockList(employer, blockList, member.Id); }