Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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());
        }
Exemplo n.º 11
0
 protected override ReadOnlyUrl GetBackToSearchUrl(IEmployer employer)
 {
     return(GetBlockListUrl(_candidateBlockListsQuery.GetPermanentBlockList(employer).BlockListType));
 }
Exemplo n.º 12
0
 protected CandidateBlockList GetPermanentBlockList(IEmployer employer)
 {
     return _candidateBlockListsQuery.GetPermanentBlockList(employer);
 }
Exemplo n.º 13
0
        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);
        }