public void TestChannelApp() { var employer = CreateEmployer(1); var member1 = CreateMember(employer, 1); var member2 = CreateMember(employer, 2); var member3 = CreateMember(employer, 3); var member4 = CreateMember(employer, 4); var channelApp1 = _channelsQuery.GetChannelApp(_channelsQuery.GetChannel("Web").Id, "Web"); var channelApp2 = _channelsQuery.GetChannelApp(_channelsQuery.GetChannel("API").Id, "iOS"); _employerMemberViewsCommand.CheckCanAccessMember(channelApp1, employer, member1, MemberAccessReason.Unlock); _employerMemberViewsCommand.AccessMember(channelApp1, employer, member1, MemberAccessReason.Unlock); _employerMemberViewsCommand.CheckCanAccessMember(channelApp2, employer, member2, MemberAccessReason.Unlock); _employerMemberViewsCommand.AccessMember(channelApp2, employer, member2, MemberAccessReason.Unlock); var views = new ProfessionalViews { member1, member3 }; _employerMemberViewsCommand.AccessMembers(channelApp2, employer, views, MemberAccessReason.Unlock); _employerMemberViewsCommand.CheckCanAccessMember(channelApp1, employer, member4, MemberAccessReason.Unlock); _employerMemberViewsCommand.AccessMember(channelApp1, employer, member4, MemberAccessReason.Unlock); AssertMemberAccesses(employer.Id, member1.Id, channelApp1, channelApp2); AssertMemberAccesses(employer.Id, member2.Id, channelApp2); AssertMemberAccesses(employer.Id, member3.Id, channelApp2); }
public void TestGetMemberViews() { var channel = _channelsQuery.GetChannel("Web"); var app = _channelsQuery.GetChannelApp(channel.Id, "Web"); Assert.AreEqual(0, _employerMemberAccessReportsQuery.GetEmployerMemberViewingReport(channel, DayRange.Today).TotalViewings); // Make some viewings. var employer1 = _employersCommand.CreateTestEmployer(1, _organisationsCommand.CreateTestOrganisation(1)); var employer2 = _employersCommand.CreateTestEmployer(2, _organisationsCommand.CreateTestOrganisation(2)); var member1 = _membersCommand.CreateTestMember(1); var member2 = _membersCommand.CreateTestMember(2); var member3 = _membersCommand.CreateTestMember(3); _employerMemberViewsCommand.ViewMember(app, employer1, member1); Assert.AreEqual(1, _employerMemberAccessReportsQuery.GetEmployerMemberViewingReport(channel, DayRange.Today).TotalViewings); _employerMemberViewsCommand.ViewMember(app, employer1, member2); Assert.AreEqual(2, _employerMemberAccessReportsQuery.GetEmployerMemberViewingReport(channel, DayRange.Today).TotalViewings); _employerMemberViewsCommand.ViewMember(app, employer2, member1); Assert.AreEqual(3, _employerMemberAccessReportsQuery.GetEmployerMemberViewingReport(channel, DayRange.Today).TotalViewings); _employerMemberViewsCommand.ViewMember(app, employer2, member3); Assert.AreEqual(4, _employerMemberAccessReportsQuery.GetEmployerMemberViewingReport(channel, DayRange.Today).TotalViewings); }
public void TestMemberViewsWithLinkMe() { // It used to be the case that we filtered out LinkMe employers from these reports but given the // changes in the company etc we will include them from now on because it makes things a whole lot // easier, and stats from LinkMe should not be significant now. var organisation = _organisationsCommand.CreateTestVerifiedOrganisation("LinkMe"); var employer1 = _employersCommand.CreateTestEmployer(0, organisation); var employer2 = _employersCommand.CreateTestEmployer(2, _organisationsCommand.CreateTestOrganisation(2)); var member1 = _membersCommand.CreateTestMember(1); var member2 = _membersCommand.CreateTestMember(2); var member3 = _membersCommand.CreateTestMember(3); // Make some viewings. var channel = _channelsQuery.GetChannel("Web"); var app = _channelsQuery.GetChannelApp(channel.Id, "Web"); _employerMemberViewsCommand.ViewMember(app, employer1, member1); Assert.AreEqual(1, _dailyReportsQuery.GetDailyReport(DayRange.Today).MemberViewingReports["Web"].TotalViewings); _employerMemberViewsCommand.ViewMember(app, employer2, member1); Assert.AreEqual(2, _dailyReportsQuery.GetDailyReport(DayRange.Today).MemberViewingReports["Web"].TotalViewings); _employerMemberViewsCommand.ViewMember(app, employer1, member2); Assert.AreEqual(3, _dailyReportsQuery.GetDailyReport(DayRange.Today).MemberViewingReports["Web"].TotalViewings); _employerMemberViewsCommand.ViewMember(app, employer2, member3); Assert.AreEqual(4, _dailyReportsQuery.GetDailyReport(DayRange.Today).MemberViewingReports["Web"].TotalViewings); }
public void TestAccess() { var member = CreateMember(0); var employer = CreateEmployer(0); Assert.AreEqual(0, _employerViewsRepository.GetMemberViewings(employer.Id, member.Id).Count); LogIn(employer); AssertJsonSuccess(Candidate(member.Id)); var viewings = _employerViewsRepository.GetMemberViewings(employer.Id, member.Id); Assert.AreEqual(1, viewings.Count); Assert.AreEqual(_channelsQuery.GetChannel("API").Id, viewings[0].ChannelId); Assert.AreEqual(_channelsQuery.GetChannelApp(_channelsQuery.GetChannel("API").Id, "iOS").Id, viewings[0].AppId); }
public void TestChannelApp() { var member1 = CreateMember(1); var member2 = CreateMember(2); var member3 = CreateMember(3); var employer = CreateEmployer(1); var channelApp1 = _channelsQuery.GetChannelApp(_channelsQuery.GetChannel("Web").Id, "Web"); var channelApp2 = _channelsQuery.GetChannelApp(_channelsQuery.GetChannel("API").Id, "iOS"); _employerMemberViewsCommand.ViewMember(channelApp1, employer, member1); _employerMemberViewsCommand.ViewMember(channelApp2, employer, member1); _employerMemberViewsCommand.ViewMember(channelApp2, employer, member2); _employerMemberViewsCommand.ViewMember(channelApp2, employer, member3); AssertMemberViewings(employer.Id, member1.Id, channelApp1, channelApp2); AssertMemberViewings(employer.Id, member2.Id, channelApp2); AssertMemberViewings(employer.Id, member3.Id, channelApp2); }
public void TestAccess() { var member = CreateMember(); var employer = CreateEmployer(); Allocate(employer.Id, null); Assert.AreEqual(0, _employerViewsRepository.GetMemberAccesses(employer.Id, member.Id).Count); LogIn(employer); AssertJsonSuccess(PhoneNumbers(member.Id)); var accesses = _employerViewsRepository.GetMemberAccesses(employer.Id, member.Id); Assert.AreEqual(1, accesses.Count); Assert.AreEqual(MemberAccessReason.PhoneNumberViewed, accesses[0].Reason); Assert.AreEqual(_channelsQuery.GetChannel("API").Id, accesses[0].ChannelId); Assert.AreEqual(_channelsQuery.GetChannelApp(_channelsQuery.GetChannel("API").Id, "iOS").Id, accesses[0].AppId); }
DailyReport IDailyReportsQuery.GetDailyReport(DayRange day) { var week = new DateTimeRange(day.Start.Value.AddDays(-7), day.End.Value); var month = new DateTimeRange(day.Start.Value.AddMonths(-1), day.End.Value); var web = _channelsQuery.GetChannel("Web"); var api = _channelsQuery.GetChannel("API"); var channels = new[] { web, api }; var userTypes = new[] { UserType.Member, UserType.Employer, UserType.Administrator, UserType.Custodian }; return(new DailyReport { Day = day, OpenJobAds = _jobAdReportsQuery.GetOpenJobAds(), ResumeSearchAlerts = _memberSearchReportsQuery.GetMemberSearchAlerts(), JobSearchAlerts = _jobAdSearchReportsQuery.GetJobAdSearchAlerts(), JobSearches = _jobAdSearchReportsQuery.GetJobAdSearches(day), InternalJobApplications = _jobAdReportsQuery.GetInternalApplications(day), ExternalJobApplications = _jobAdReportsQuery.GetExternalApplications(day), InvitationsSent = _networkingReportsQuery.GetInvitationsSent(day), InvitationsAccepted = _networkingReportsQuery.GetInvitationsAccepted(day), AcceptanceRateLast48Hours = (int)_networkingReportsQuery.Get48HourInvitationAcceptancePercent(), AcceptanceRatePreviousMonth = (int)_networkingReportsQuery.GetMonthlyInvitationAcceptancePercent(), MemberReport = new MemberReport { Total = _accountReportsQuery.GetUsers(UserType.Member, day.End.Value), Enabled = _accountReportsQuery.GetEnabledUsers(UserType.Member, day.End.Value), Active = _accountReportsQuery.GetActiveUsers(UserType.Member, day.End.Value), New = _accountReportsQuery.GetNewUsers(UserType.Member, day), }, ResumeReport = new ResumeReport { Total = _resumeReportsQuery.GetResumes(day.End.Value), Searchable = _resumeReportsQuery.GetSearchableResumes(day.End.Value), New = _resumeReportsQuery.GetNewResumes(day), Uploaded = _resumeReportsQuery.GetUploadedResumes(day), Reloaded = _resumeReportsQuery.GetReloadedResumes(day), Edited = _resumeReportsQuery.GetEditedResumes(day), Updated = _resumeReportsQuery.GetUpdatedResumes(day), }, // Logins. DailyLogIns = (from u in userTypes select new { UserType = u, LogIns = _accountReportsQuery.GetLogIns(u, day) }).ToDictionary(x => x.UserType, x => x.LogIns), WeeklyLogIns = (from u in userTypes select new { UserType = u, LogIns = _accountReportsQuery.GetLogIns(u, week) }).ToDictionary(x => x.UserType, x => x.LogIns), MonthlyLogIns = (from u in userTypes select new { UserType = u, LogIns = _accountReportsQuery.GetLogIns(u, month) }).ToDictionary(x => x.UserType, x => x.LogIns), // Member search reports. MemberSearchReports = (from c in channels select new { c.Name, Report = new MemberSearchReport { TotalSearches = _memberSearchReportsQuery.GetMemberSearches(c, day), FilterSearches = _memberSearchReportsQuery.GetFilterMemberSearches(c, day), SavedSearches = _memberSearchReportsQuery.GetSavedMemberSearches(c, day), AnonymousSearches = _memberSearchReportsQuery.GetAnonymousMemberSearches(c, day), } }).ToDictionary(x => x.Name, x => x.Report), MemberViewingReports = (from c in channels select new { c.Name, Report = _employerMemberAccessReportsQuery.GetEmployerMemberViewingReport(c, day), }).ToDictionary(x => x.Name, x => x.Report), MemberAccessReports = (from c in channels select new { c.Name, Report = _employerMemberAccessReportsQuery.GetEmployerMemberAccessReport(c, day), }).ToDictionary(x => x.Name, x => x.Report), // Others. OrderReports = _orderReportsQuery.GetOrderReports(day), CommunciationReports = GetCommunicationReports(day), PromotionCodeReports = _registrationReportsQuery.GetPromotionCodeReports(day).ToDictionary(x => x.Key, x => x.Value), JobAdIntegrationReports = GetJobAdIntegrationReports(day), }); }
public void TestUnknownChannel() { const string channelName = "Unknown"; Assert.IsNull(_channelsQuery.GetChannel(channelName)); }
private void InitialiseContext(ILocationQuery locationQuery, IChannelsQuery channelsQuery) { _eventSource.Raise(Event.Information, "InitialiseContext", "Initializing context..."); ActivityContext.Current.Register(new SessionVerticalContext()); ActivityContext.Current.Register(new SessionCommunityContext()); ActivityContext.Current.Register(new HttpContextLocationContext(locationQuery.GetCountry("Australia"))); ActivityContext.Current.Register(new ChannelContext(channelsQuery.GetChannelApp(channelsQuery.GetChannel("Web").Id, "Web"))); }
private static void InitialiseContext(IChannelsQuery channelsQuery) { ActivityContext.Current.Register(new ChannelContext(channelsQuery.GetChannelApp(channelsQuery.GetChannel("API").Id, "iOS"))); }