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); } }
private CandidateFlagList CreateFlagList(Guid employerId) { var list = new CandidateFlagList { RecruiterId = employerId, FlagListType = FlagListType.Flagged }; _contenderListsCommand.CreateList(list); return(list); }
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 })); }
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 })); }
private static bool CanModifyCandidates(IEmployer employer, CandidateFlagList flagList) { if (!CanAccessFlagList(employer, flagList, false)) { return(false); } // Must own the list. return(flagList.RecruiterId == employer.Id); }
public void ListsTestsInitialize() { Resolve <IDbConnectionFactory>().DeleteAllTestData(); _temporaryBlockList = null; _permanentBlockList = null; _flagList = null; _privateFolder = null; _sharedFolder = null; _shortlistFolder = null; _mobileFolder = null; }
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); }
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); }
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); }
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++]); } }
protected static void AssertFlagList(IEmployer employer, CandidateFlagList expectedFlagList, IList <CandidateFlagList> flagLists) { Assert.AreEqual(1, flagLists.Count); AssertFlagList(employer, expectedFlagList, flagLists[0]); }
public static string GetNameDisplayText(this CandidateFlagList flagList) { return("Flagged candidates"); }
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); }