Esempio n. 1
0
        public void TestLoginWithReturnUrl()
        {
            var loginUrl = LogInUrl.AsNonReadOnly();

            loginUrl.QueryString[Constants.ReturnUrlParameter] = NavigationManager.GetUrlForPage <ViewFriends>().ToString();
            Get(loginUrl);
            AssertUrl(loginUrl);

            var member = _memberAccountsCommand.CreateTestMember(0);

            SubmitLogIn(member);
            AssertPage <ViewFriends>();
        }
Esempio n. 2
0
        private void View(JobAd jobAd, bool isCommunityJobAd, bool isCommunityMember, Member member)
        {
            var url = new ReadOnlyApplicationUrl(true, "~/jobs/" + jobAd.GetJobRelativePath());

            if (isCommunityJobAd)
            {
                // It is a community job ad, so must be a community member and logged in.

                if (isCommunityMember && member != null)
                {
                    Get(url);
                    AssertUrl(url);
                    AssertJobAd(jobAd);
                }
                else
                {
                    if (member == null)
                    {
                        // Needs to log in.

                        var loginUrl = LogInUrl.AsNonReadOnly();
                        loginUrl.QueryString.Add("returnUrl", url.Path);
                        Get(url);
                        AssertUrl(loginUrl);
                    }
                    else
                    {
                        Get(HttpStatusCode.NotFound, url);
                    }
                }
            }
            else
            {
                // If not a community job then can always be seen.

                Get(url);
                AssertUrl(url);
                AssertJobAd(jobAd);
            }
        }
Esempio n. 3
0
        public void TestRememberMeMember()
        {
            // Create the member.

            var member = _memberAccountsCommand.CreateTestMember(0);

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

            GetLoginUrl();
            AssertPageDoesNotContain(member.FullName);

            // Log in and get the cookies.

            SubmitLogIn(member, true);
            var userCookieValue     = GetCookieValue("user_cookie");
            var passwordCookieValue = GetCookieValue("passwordCookie");

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

            AssertUrl(LoggedInMemberHomeUrl);
            AssertPageContains(member.FullName);

            // Logout.

            LogOut();
            AssertUrl(HomeUrl);
            AssertPageDoesNotContain(member.FullName);

            // Set the cookies and try to access the login page, should be automatically logged in.

            SetRememberMeCookies(userCookieValue, passwordCookieValue);
            GetLoginUrl();
            AssertUrl(LoggedInMemberHomeUrl);
            AssertPageContains(member.FullName);

            // Try to access a page that does not have a login form.

            LogOut();
            AssertPageDoesNotContain(member.FullName);

            Get(LoggedInMemberHomeUrl);
            var loginUrl = LogInUrl.AsNonReadOnly();

            loginUrl.QueryString["returnUrl"] = LoggedInMemberHomeUrl.Path;
            AssertUrl(loginUrl);

            // Try to access it again when cookies are set.

            SetRememberMeCookies(userCookieValue, passwordCookieValue);
            Get(LoggedInMemberHomeUrl);
            AssertUrl(LoggedInMemberHomeUrl);
            AssertPageContains(member.FullName);

            // Access a page which does not require a login and doesn't have a login form.

            LogOut();
            Get(_searchJobsUrl);
            AssertUrl(_searchJobsUrl);
            AssertPageDoesNotContain(member.FullName);

            // Try to access it again when cookies are set, should be automatically logged in.

            SetRememberMeCookies(userCookieValue, passwordCookieValue);
            Get(_searchJobsUrl);
            AssertUrl(_searchJobsUrl);
            AssertPageContains(member.FullName);
        }