Пример #1
0
        public void TestJobAds()
        {
            // Refresh whatever may be in the cache.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            _featuredCommand.UpdateFeaturedStatistics(GetFeaturedStatistics());
            ClearCache(administrator);

            // No job ads.

            Get(HomeUrl);
            Assert.AreEqual(0, GetJobAds());

            // Post a job ad yesterday.

            var employer = _employerAccountsCommand.CreateTestEmployer(0, _organisationsCommand.CreateTestOrganisation(0));
            var jobAd    = employer.CreateTestJobAd();

            jobAd.CreatedTime = DateTime.Now.AddDays(-1);
            _jobAdsCommand.CreateJobAd(jobAd);

            // Should not show up until cache is refreshed.

            Get(HomeUrl);
            Assert.AreEqual(0, GetJobAds());

            _featuredCommand.UpdateFeaturedStatistics(GetFeaturedStatistics());
            ClearCache(administrator);
            Get(HomeUrl);
            Assert.AreEqual(1, GetJobAds());

            // Post another job ad.

            jobAd             = employer.CreateTestJobAd();
            jobAd.CreatedTime = DateTime.Now.AddDays(-4);
            _jobAdsCommand.CreateJobAd(jobAd);

            Get(HomeUrl);
            Assert.AreEqual(1, GetJobAds());

            _featuredCommand.UpdateFeaturedStatistics(GetFeaturedStatistics());
            ClearCache(administrator);
            Get(HomeUrl);
            Assert.AreEqual(2, GetJobAds());

            // Post another outside the 7 day timeframe.

            jobAd             = employer.CreateTestJobAd();
            jobAd.CreatedTime = DateTime.Now.AddDays(-14);
            _jobAdsCommand.CreateJobAd(jobAd);

            Get(HomeUrl);
            Assert.AreEqual(2, GetJobAds());

            _featuredCommand.UpdateFeaturedStatistics(GetFeaturedStatistics());
            ClearCache(administrator);
            Get(HomeUrl);
            Assert.AreEqual(2, GetJobAds());
        }
Пример #2
0
        public void TestDefaults()
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(1);

            LogIn(administrator);

            Get(GetSearchEmployersUrl());
            AssertControls(false);
        }
Пример #3
0
        public void TestEmailLinks()
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(1);
            var campaign      = CreateCampaign(administrator);
            var member        = _memberAccountsCommand.CreateTestMember(0);

            _userAccountsCommand.DeactivateUserAccount(member, Guid.NewGuid());

            // Send.

            var campaignEmail = _campaignEmailsCommand.CreateEmail(campaign, member);

            _campaignEmailsCommand.Send(new[] { campaignEmail }, campaign.Id, false);

            var email = _emailServer.AssertEmailSent();

            var links = email.GetHtmlView().GetLinks();

            Assert.AreEqual(12, links.Count);

            const string definition = "ReengagementEmail";

            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/"), links[0]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/search/jobs"), links[1]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl(true, "~/login"), links[2]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[3]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[4]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/"), links[5]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/members/resources"), links[6]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[7]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[8]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/"), links[9]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/settings"), links[10]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl(true, "~/accounts/settings/unsubscribe", new ReadOnlyQueryString("userId", member.Id.ToString(), "category", "Campaign")), links[11]);

            links = email.GetPlainTextView().GetPlainTextLinks();
            Assert.AreEqual(9, links.Count);

            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/search/jobs"), links[0]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl(true, "~/login"), links[1]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[2]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[3]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl("~/members/resources"), links[4]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[5]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/profile"), links[6]);
            AssertActivationLink(member, true, definition, new ReadOnlyApplicationUrl(true, "~/members/settings"), links[7]);
            AssertActivationLink(member, false, definition, new ReadOnlyApplicationUrl(true, "~/accounts/settings/unsubscribe", new ReadOnlyQueryString("userId", member.Id.ToString(), "category", "Campaign")), links[8]);
        }
        public void TestOrganisationalUnitCriteria()
        {
            var index = 0;

            // Create some organisations.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(1);
            var organisation0 = CreateOrganisation(0, false, administrator);
            var organisation1 = CreateOrganisation(1, false, administrator);
            var organisation2 = CreateOrganisation(2, true, administrator);
            var organisation3 = CreateOrganisation(3, true, administrator);
            var organisation4 = CreateOrganisation(4, true, administrator);

            // Create some employers.

            var employers0 = CreateEmployers(0, 6, organisation0);
            var employers1 = CreateEmployers(6, 8, organisation1);
            var employers2 = CreateEmployers(14, 4, organisation2);
            var employers3 = CreateEmployers(18, 2, organisation3);
            var employers4 = CreateEmployers(20, 5, organisation4);

            // Empty criteria should return everyone.

            var criteria = new OrganisationEmployerSearchCriteria();

            TestSearch(++index, criteria, employers0.Concat(employers1).Concat(employers2).Concat(employers3).Concat(employers4));

            // Unverified.

            criteria = new OrganisationEmployerSearchCriteria {
                VerifiedOrganisations = false, UnverifiedOrganisations = true
            };
            TestSearch(++index, criteria, employers0.Concat(employers1));

            // Verified.

            criteria = new OrganisationEmployerSearchCriteria {
                VerifiedOrganisations = true, UnverifiedOrganisations = false
            };
            TestSearch(++index, criteria, employers2.Concat(employers3).Concat(employers4));

            // Neither.

            criteria = new OrganisationEmployerSearchCriteria {
                VerifiedOrganisations = false, UnverifiedOrganisations = false
            };
            TestSearch(++index, criteria, new Employer[0]);
        }
Пример #5
0
        public void TestAdministrator()
        {
            var administrator0 = _administratorAccountsCommand.CreateTestAdministrator(0);
            var administrator1 = _administratorAccountsCommand.CreateTestAdministrator(1);

            AssertLogIns(0, 0, 0, 0);

            LogIn(administrator0);
            LogOut();
            AssertLogIns(0, 0, 1, 0);

            LogIn(administrator0);
            LogOut();
            AssertLogIns(0, 0, 1, 0);

            LogIn(administrator1);
            LogOut();
            AssertLogIns(0, 0, 2, 0);
        }
Пример #6
0
        public void TestVerifiedOrganisationWithAccountManagerCredits()
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);
            var organisation  = _organisationsCommand.CreateTestVerifiedOrganisation(0, null, administrator.Id);

            var employer1 = _employerAccountsCommand.CreateTestEmployer(1, organisation);
            var employer2 = _employerAccountsCommand.CreateTestEmployer(2, organisation);

            TestCredits(organisation.Id, 10, 8, administrator, employer1, employer2);
        }
        public void TestInitialize()
        {
            _admin   = _administratorAccountsCommand.CreateTestAdministrator(1);
            _orgUnit = _organisationsCommand.CreateTestVerifiedOrganisation("Headhunters Inc.", null, _admin.Id, _admin.Id);

            _employer = _employerAccountsCommand.CreateTestEmployer("employer", _organisationsCommand.CreateTestOrganisation(0));
            _employer.Organisation = _orgUnit;
            _employer.CreatedTime  = DateTime.Now.AddYears(-1); // Must exist before the reporting period
            _employerAccountsCommand.UpdateEmployer(_employer);
        }
Пример #8
0
        public void TestAnonymousLinks()
        {
            // Need to clear out the featured jobads from front page from the cache.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            _featuredCommand.UpdateFeaturedJobAds(new FeaturedItem[0]);
            ClearCache(administrator);

            var employer = _employerAccountsCommand.CreateTestEmployer(0, _organisationsCommand.CreateTestOrganisation(0));

            PostJobAds(employer);

            // Assert the root page.

            var rootUrl = new ReadOnlyApplicationUrl("/");
            var cookies = new CookieContainer();

            AssertUrl(new ReadOnlyApplicationUrl("~/").AbsoluteUri, null, true, false, cookies, rootUrl);
        }
Пример #9
0
        public void TestEnabled()
        {
            var member = CreateMember(0);

            var criteria = new MemberSearchCriteria();

            criteria.SetKeywords(BusinessAnalyst);

            Get(GetPartialSearchUrl(criteria));
            AssertMembers(member);

            // Disable the member.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            LogIn(administrator);
            Get(GetAdminMemberUrl(member.Id));
            _disableButton.Click();
            LogOut();

            // Search.

            Get(GetPartialSearchUrl(criteria));
            AssertMembers();

            // Enable.

            LogIn(administrator);
            Get(GetAdminMemberUrl(member.Id));
            _enableButton.Click();
            LogOut();

            // Search.

            Get(GetPartialSearchUrl(criteria));
            AssertMembers(member);
        }
Пример #10
0
        public void TestInitialize()
        {
            _users = new List <RegisteredUser>();
            Resolve <IDbConnectionFactory>().DeleteAllTestData();

            _users.Add(_memberAccountsCommand.CreateTestMember("*****@*****.**", "password", "John", "Lennon"));
            _users.Add(_memberAccountsCommand.CreateTestMember("*****@*****.**", "password", "John", "Lennon"));
            _users.Add(_memberAccountsCommand.CreateTestMember("*****@*****.**", "password", "John", "Lennon"));

            _users.Add(_employerAccountsCommand.CreateTestEmployer("employer1", _organisationsCommand.CreateTestOrganisation(0)));
            _users.Add(_employerAccountsCommand.CreateTestEmployer("employer2", _organisationsCommand.CreateTestOrganisation(0)));
            _users.Add(_employerAccountsCommand.CreateTestEmployer("employer3", _organisationsCommand.CreateTestOrganisation(0)));

            _users.Add(_administratorAccountsCommand.CreateTestAdministrator("admin1"));
        }
Пример #11
0
        private void TestCredits(Guid creditId)
        {
            var employer = CreateEmployer(creditId);

            // Search.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(1);

            LogIn(administrator);

            Get(GetCreditsUrl(employer));

            // Assert.

            AssertCredits();
            AssertExpiryDate();
        }
Пример #12
0
        public void TestAdministrator()
        {
            // Create the administrator.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            // Log in.

            AssertNotLoggedIn();
            AssertJsonSuccess(ApiLogIn(administrator));

            // Assert that the user was directed to the administrator home page after login.

            Get(HomeUrl);
            AssertUrl(LoggedInAdministratorHomeUrl);
            AssertPageContains(administrator.FullName);
        }
Пример #13
0
        public void TestAdministrator()
        {
            // Create the administrator.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            // Assert that the user is not already logged in.

            GetLoginUrl();
            AssertPageDoesNotContain(administrator.FullName);

            // Log in.

            SubmitLogIn(administrator);

            // Assert that the user was directed to the administrator home page after login.

            AssertUrl(LoggedInAdministratorHomeUrl);
            AssertPageContains(administrator.FullName);
        }
Пример #14
0
        private Employer CreateVerifiedOrganisation(int index, Guid creditId, DateTime expiryDate, int?quantity, DateTime?lastSentTime)
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(index);
            var organisation  = _organisationsCommand.CreateTestVerifiedOrganisation(index, null, administrator.Id);

            // Create some contact details for the organisation.

            organisation.ContactDetails = new ContactDetails
            {
                EmailAddress = string.Format(EmailAddressFormat, index),
                FirstName    = string.Format(FirstNameFormat, index),
                LastName     = string.Format(LastNameFormat, index),
            };
            _organisationsCommand.UpdateOrganisation(organisation);

            // Allocate to the organisation.

            _allocationsCommand.CreateAllocation(new Allocation {
                OwnerId = organisation.Id, CreditId = creditId, ExpiryDate = expiryDate, InitialQuantity = quantity
            });

            if (lastSentTime != null)
            {
                var definition = _settingsQuery.GetDefinition(typeof(ExpiringContactCreditsEmail).Name);
                _settingsCommand.SetLastSentTime(organisation.Id, definition.Id, lastSentTime);
            }

            return(new Employer
            {
                Id = organisation.Id,
                EmailAddress = new EmailAddress {
                    Address = organisation.ContactDetails.EmailAddress, IsVerified = true
                },
                FirstName = organisation.ContactDetails.FirstName,
                LastName = organisation.ContactDetails.LastName,
                IsEnabled = true,
            });
        }
Пример #15
0
        public void TestAdministrator()
        {
            // Create the administrator.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            // Log in.

            Get(HomeUrl);
            SubmitLogIn(administrator);
            var login = AssertActivity(_userSessionsQuery.GetUserActivity(administrator.Id), AuthenticationStatus.Authenticated);

            // Logout.

            TestUtils.SleepForDifferentSqlTimestamp();
            LogOut();

            var logout = new UserLogout {
                UserId = administrator.Id
            };

            AssertActivities(_userSessionsQuery.GetUserActivity(administrator.Id), GetExpectedActivities(login, logout));
        }
Пример #16
0
        public void TestAdministrator()
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            TestLogout(administrator, LoggedInAdministratorHomeUrl, HomeUrl);
        }
 private Administrator CreateAdministrator(int index)
 {
     return(_administratorAccountsCommand.CreateTestAdministrator(string.Format(LoginIdFormat, index)));
 }
Пример #18
0
 public Administrator CreateAdministrator(string userid)
 {
     return(_administratorAccountsCommand.CreateTestAdministrator(userid));
 }
Пример #19
0
        public void TestAdministrator()
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            AssertJsonError(LogIn(HttpStatusCode.Forbidden, administrator.GetLoginId(), administrator.GetPassword()), null, "101", "Login failed. Please try again.");
        }
Пример #20
0
 private Administrator CreateAdministrator()
 {
     return(_administratorAccountsCommand.CreateTestAdministrator(0));
 }
Пример #21
0
 protected Administrator CreateAdministrator()
 {
     return(_administratorAccountsCommand.CreateTestAdministrator(AdministratorLoginId, AdministratorFirstName, AdministratorLastName));
 }
Пример #22
0
 protected Administrator CreateAdministrator(int index)
 {
     return(_administratorAccountsCommand.CreateTestAdministrator(index));
 }
Пример #23
0
 public static Administrator CreateTestAdministrator(this IAdministratorAccountsCommand administratorAccountsCommand, string loginId)
 {
     return(administratorAccountsCommand.CreateTestAdministrator(loginId, string.Format(FirstNameFormat, 0), string.Format(LastNameFormat, 0)));
 }
Пример #24
0
        public void TestPageVisibility()
        {
            // Create the employer.

            var administrator = _administratorAccountsCommand.CreateTestAdministrator(1);
            var employer      = _employerAccountsCommand.CreateTestEmployer(1, _organisationsCommand.CreateTestOrganisation(0));

            LogIn(administrator);
            Get(GetEmployerUrl(employer));

            // Assert that everything is as it should be.

            AssertVisibility(employer);
            AssertEmployer(employer, employer.GetLoginId());
        }
Пример #25
0
 private void LogIn()
 {
     LogIn(_administratorAccountsCommand.CreateTestAdministrator(0));
 }
Пример #26
0
        public void TestCreateAccount()
        {
            var administrator = _administratorAccountsCommand.CreateTestAdministrator(0);

            AssertAreEqual(administrator, _administratorsQuery.GetAdministrator(administrator.Id));
        }
 protected override RegisteredUser CreateUser()
 {
     return(_administratorAccountsCommand.CreateTestAdministrator(0));
 }
Пример #28
0
 public static Administrator CreateTestAdministrator(this IAdministratorAccountsCommand administratorAccountsCommand, int index)
 {
     return(administratorAccountsCommand.CreateTestAdministrator(string.Format(UserIdFormat, index), string.Format(FirstNameFormat, index), string.Format(LastNameFormat, index)));
 }