Exemplo n.º 1
0
        public void TestTemporarilyBlocked()
        {
            const int count   = 4;
            var       members = new Member[count];

            for (var index = 0; index < count; ++index)
            {
                members[index] = CreateMember(index);
                var candidate = _candidatesQuery.GetCandidate(members[index].Id);
                _candidateResumesCommand.AddTestResume(candidate);
            }

            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);

            // Temporarily block one.

            var memberId = members[1].Id;

            _candidateListsCommand.AddCandidateToBlockList(employer, _candidateBlockListsQuery.GetTemporaryBlockList(employer), memberId);

            // Should not be removed from folder.

            Get(GetFolderUrl(folder.Id));
            AssertMembers(members);
        }
Exemplo n.º 2
0
        public void TestIsBlocked()
        {
            // Do a search.

            var employer = CreateEmployer();

            LogIn(employer);

            const int count   = 4;
            var       members = new Member[count];

            for (var index = 0; index < count; ++index)
            {
                members[index] = CreateMember(index);
            }

            Get(GetSearchUrl());
            _keywordsTextBox.Text = BusinessAnalyst;
            _searchButton.Click();
            AssertMembers(members);

            // Do a partial search.

            Get(GetPartialSearchUrl(BusinessAnalyst));
            AssertMembers(members);

            // Temporarily block.

            BlockTemporaryCandidates(members[0]);
            Get(GetBlockListUrl(_candidateBlockListsQuery.GetTemporaryBlockList(employer).BlockListType));
            AssertMembers(members[0]);

            Get(GetPartialSearchUrl(BusinessAnalyst));
            AssertMembers(members.Skip(1).ToArray());

            BlockTemporaryCandidates(members[1], members[3]);
            Get(GetBlockListUrl(_candidateBlockListsQuery.GetTemporaryBlockList(employer).BlockListType));
            AssertMembers(members[0], members[1], members[3]);

            Get(GetPartialSearchUrl(BusinessAnalyst));
            AssertMembers(members[2]);
        }
Exemplo n.º 3
0
        public ActionResult BlockTemporaryCandidates(Guid[] candidateIds)
        {
            try
            {
                // Look for the blocklist.

                var employer  = CurrentEmployer;
                var blockList = _candidateBlockListsQuery.GetTemporaryBlockList(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.º 5
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.º 6
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.º 7
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.º 8
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.º 9
0
        public void TestFilterBlockInFolders()
        {
            var member   = CreateMember(1);
            var employer = _employersCommand.CreateTestEmployer(1, _organisationsCommand.CreateTestOrganisation(1));

            // Member in folder.

            var folder = _candidateFoldersQuery.GetShortlistFolder(employer);

            _candidateListsCommand.AddCandidateToFolder(employer, folder, member.Id);

            // Filter.

            TestFilter(new[] { member.Id }, employer, CreateInFolderCriteria(true));

            // Block.

            _candidateListsCommand.AddCandidateToBlockList(employer, _candidateBlockListsQuery.GetTemporaryBlockList(employer), member.Id);
            TestFilter(new Guid[0], employer, CreateInFolderCriteria(true));
        }
Exemplo n.º 10
0
 protected CandidateBlockList GetTemporaryBlockList(IEmployer employer)
 {
     return _candidateBlockListsQuery.GetTemporaryBlockList(employer);
 }