Exemplo n.º 1
0
        protected void AssertBlockListCandidates(IEmployer employer, CandidateBlockList blockList, ICollection<Member> blockedMembers, ICollection<Member> notBlockedMembers)
        {
            // IsBlocked

            foreach (var member in blockedMembers)
                Assert.IsTrue(_candidateBlockListsQuery.IsBlocked(employer, blockList.Id, member.Id));
            foreach (var member in notBlockedMembers)
                Assert.IsFalse(_candidateBlockListsQuery.IsBlocked(employer, blockList.Id, member.Id));

            if (blockList.BlockListType == BlockListType.Permanent)
            {
                foreach (var member in blockedMembers)
                    Assert.IsTrue(_candidateBlockListsQuery.IsPermanentlyBlocked(employer, member.Id));
                foreach (var member in notBlockedMembers)
                    Assert.IsFalse(_candidateBlockListsQuery.IsPermanentlyBlocked(employer, member.Id));
            }

            // GetBlockedCandidateIds

            Assert.IsTrue((from m in blockedMembers select m.Id).CollectionEqual(_candidateBlockListsQuery.GetBlockedCandidateIds(employer, blockList.Id)));
            if (blockList.BlockListType == BlockListType.Permanent)
                Assert.IsTrue((from m in blockedMembers select m.Id).CollectionEqual(_candidateBlockListsQuery.GetPermanentlyBlockedCandidateIds(employer)));

            // GetEntryCounts

            var counts = _candidateBlockListsQuery.GetBlockedCounts(employer);
            if (counts.ContainsKey(blockList.Id))
                Assert.AreEqual(blockedMembers.Count, counts[blockList.Id]);
            else
                Assert.AreEqual(blockedMembers.Count, 0);
        }
        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.º 3
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.º 4
0
        public ActionResult BlockLists()
        {
            var employer = CurrentEmployer;

            // Get the blocklists and their counts.

            var blockLists = _candidateBlockListsQuery.GetBlockLists(employer);
            var counts     = _candidateBlockListsQuery.GetBlockedCounts(employer);

            var models = blockLists
                         .OrderBy(b => b, new BlockListComparer())
                         .Select(b => new BlockListModel
            {
                Id    = b.Id,
                Type  = b.BlockListType.ToString(),
                Count = GetCount(b.Id, counts),
            });

            return(Json(new JsonBlockListsModel {
                BlockLists = models.ToList()
            }));
        }