コード例 #1
0
 private void CreateCandidates(int count, IEmployer employer, CandidateFlagList flagList)
 {
     for (var index = 0; index < count; ++index)
     {
         var member = CreateMember(index);
         _candidateListsCommand.AddCandidateToFlagList(employer, flagList, member.Id);
     }
 }
コード例 #2
0
        private CandidateFlagList CreateFlagList(Guid employerId)
        {
            var list = new CandidateFlagList {
                RecruiterId = employerId, FlagListType = FlagListType.Flagged
            };

            _contenderListsCommand.CreateList(list);
            return(list);
        }
コード例 #3
0
        int ICandidateListsCommand.AddCandidatesToFlagList(IEmployer employer, CandidateFlagList flagList, IEnumerable <Guid> candidateIds)
        {
            if (!CanModifyCandidates(employer, flagList))
            {
                throw new CandidateFlagListsPermissionsException(employer, flagList.Id);
            }

            AddCandidatesToFlagList(employer.Id, flagList.Id, candidateIds);
            return(_contenderListsQuery.GetListedCount(flagList.Id, new[] { (int)BlockListType.Permanent }));
        }
コード例 #4
0
        int ICandidateListsCommand.RemoveCandidateFromFlagList(IEmployer employer, CandidateFlagList flagList, Guid candidateId)
        {
            if (!CanModifyCandidates(employer, flagList))
            {
                throw new CandidateFlagListsPermissionsException(employer, flagList.Id);
            }

            RemoveCandidatesFromList(flagList.Id, new[] { candidateId });
            return(_contenderListsQuery.GetListedCount(flagList.Id, new[] { (int)BlockListType.Permanent }));
        }
コード例 #5
0
        private static bool CanModifyCandidates(IEmployer employer, CandidateFlagList flagList)
        {
            if (!CanAccessFlagList(employer, flagList, false))
            {
                return(false);
            }

            // Must own the list.

            return(flagList.RecruiterId == employer.Id);
        }
コード例 #6
0
ファイル: ListsTests.cs プロジェクト: formist/LinkMe
        public void ListsTestsInitialize()
        {
            Resolve <IDbConnectionFactory>().DeleteAllTestData();

            _temporaryBlockList = null;
            _permanentBlockList = null;
            _flagList           = null;
            _privateFolder      = null;
            _sharedFolder       = null;
            _shortlistFolder    = null;
            _mobileFolder       = null;
        }
コード例 #7
0
ファイル: ApiGetFoldersTests.cs プロジェクト: formist/LinkMe
        private static void AssertModel(CandidateFlagList flagList, IDictionary <Guid, int> expectedCounts, bool expectedCanRename, bool expectedCanDelete, FolderModel model)
        {
            Assert.AreEqual(flagList.Name, model.Name);
            Assert.AreEqual(flagList.FlagListType.ToString(), model.Type);
            Assert.AreEqual(expectedCanRename, model.CanRename);
            Assert.AreEqual(expectedCanDelete, model.CanDelete);

            int expectedCount;

            expectedCounts.TryGetValue(model.Id, out expectedCount);
            Assert.AreEqual(expectedCount, model.Count);
        }
コード例 #8
0
        protected static void AssertFlagList(IEmployer employer, CandidateFlagList expectedFlagList, CandidateFlagList flagList)
        {
            Assert.AreNotEqual(Guid.Empty, flagList.Id);
            Assert.AreNotEqual(DateTime.MinValue, flagList.CreatedTime);

            if (expectedFlagList.Id != Guid.Empty)
            {
                Assert.AreEqual(expectedFlagList.Id, flagList.Id);
            }
            Assert.AreEqual(expectedFlagList.Name, flagList.Name);

            Assert.IsNull(flagList.Name);
            Assert.AreEqual(employer.Id, flagList.RecruiterId);
            Assert.AreEqual(expectedFlagList.RecruiterId, flagList.RecruiterId);
        }
コード例 #9
0
ファイル: ListsTests.cs プロジェクト: formist/LinkMe
        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);
        }
コード例 #10
0
ファイル: ApiGetFoldersTests.cs プロジェクト: formist/LinkMe
        private static void AssertModels(Guid employerId, string shortlistFolderName, ICollection <CandidateFolder> expectedFolders, IDictionary <Guid, int> expectedCounts, JsonFoldersModel model)
        {
            // Shortlist, flagged and mobile folders are always returned.

            AssertJsonSuccess(model);
            Assert.AreEqual(expectedFolders.Count + 3, model.Folders.Count);

            // Flagged folder should be first.

            var flagList = new CandidateFlagList {
                RecruiterId = employerId, FlagListType = FlagListType.Flagged
            };

            AssertModel(flagList, expectedCounts, false, false, model.Folders[0]);

            // Shortlist folder should be next.

            var shortlistFolder = new CandidateFolder {
                RecruiterId = employerId, FolderType = FolderType.Shortlist, Name = shortlistFolderName
            };

            AssertModel(shortlistFolder, expectedCounts, true, false, model.Folders[1]);

            // Mobile folder should be next.

            var mobileFolder = new CandidateFolder {
                RecruiterId = employerId, FolderType = FolderType.Mobile
            };

            AssertModel(mobileFolder, expectedCounts, false, false, model.Folders[2]);

            // Look for other folders.

            var index = 3;

            foreach (var expectedFolder in expectedFolders)
            {
                AssertModel(expectedFolder, expectedCounts, true, true, model.Folders[index++]);
            }
        }
コード例 #11
0
 protected static void AssertFlagList(IEmployer employer, CandidateFlagList expectedFlagList, IList <CandidateFlagList> flagLists)
 {
     Assert.AreEqual(1, flagLists.Count);
     AssertFlagList(employer, expectedFlagList, flagLists[0]);
 }
コード例 #12
0
 public static string GetNameDisplayText(this CandidateFlagList flagList)
 {
     return("Flagged candidates");
 }
コード例 #13
0
ファイル: ApiFlagListsTests.cs プロジェクト: formist/LinkMe
 protected static void AssertFlagList(IEmployer employer, string name, bool isShared, CandidateFlagList flagList)
 {
     Assert.AreEqual(name, flagList.Name);
     Assert.AreEqual(false, flagList.IsDeleted);
     Assert.AreEqual(employer.Id, flagList.RecruiterId);
 }