Merge pull request #9134 from edx/sarina/allow-logistration-in-microsites
Allow microsites to use logistration page (ECOM-1976)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
# This is intentionally an empty directory. This is needed for this test microsite to be valid
|
||||
@@ -459,3 +459,60 @@ class AccountSettingsViewTest(ThirdPartyAuthTestMixin, TestCase):
|
||||
|
||||
for attribute in self.FIELDS:
|
||||
self.assertIn(attribute, response.content)
|
||||
|
||||
|
||||
@override_settings(SITE_NAME=settings.MICROSITE_LOGISTRATION_HOSTNAME)
|
||||
class MicrositeLogistrationTests(TestCase):
|
||||
"""
|
||||
Test to validate that microsites can display the logistration page
|
||||
"""
|
||||
|
||||
def test_login_page(self):
|
||||
"""
|
||||
Make sure that we get the expected logistration page on our specialized
|
||||
microsite
|
||||
"""
|
||||
|
||||
resp = self.client.get(
|
||||
reverse('account_login'),
|
||||
HTTP_HOST=settings.MICROSITE_LOGISTRATION_HOSTNAME
|
||||
)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
self.assertIn('<div id="login-and-registration-container"', resp.content)
|
||||
|
||||
def test_registration_page(self):
|
||||
"""
|
||||
Make sure that we get the expected logistration page on our specialized
|
||||
microsite
|
||||
"""
|
||||
|
||||
resp = self.client.get(
|
||||
reverse('account_register'),
|
||||
HTTP_HOST=settings.MICROSITE_LOGISTRATION_HOSTNAME
|
||||
)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
self.assertIn('<div id="login-and-registration-container"', resp.content)
|
||||
|
||||
@override_settings(SITE_NAME=settings.MICROSITE_TEST_HOSTNAME)
|
||||
def test_no_override(self):
|
||||
"""
|
||||
Make sure we get the old style login/registration if we don't override
|
||||
"""
|
||||
|
||||
resp = self.client.get(
|
||||
reverse('account_login'),
|
||||
HTTP_HOST=settings.MICROSITE_TEST_HOSTNAME
|
||||
)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
self.assertNotIn('<div id="login-and-registration-container"', resp.content)
|
||||
|
||||
resp = self.client.get(
|
||||
reverse('account_register'),
|
||||
HTTP_HOST=settings.MICROSITE_TEST_HOSTNAME
|
||||
)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
self.assertNotIn('<div id="login-and-registration-container"', resp.content)
|
||||
|
||||
@@ -67,7 +67,9 @@ def login_and_registration_form(request, initial_mode="login"):
|
||||
|
||||
# If this is a microsite, revert to the old login/registration pages.
|
||||
# We need to do this for now to support existing themes.
|
||||
if microsite.is_request_in_microsite():
|
||||
# Microsites can use the new logistration page by setting
|
||||
# 'ENABLE_COMBINED_LOGIN_REGISTRATION' in their microsites configuration file.
|
||||
if microsite.is_request_in_microsite() and not microsite.get_value('ENABLE_COMBINED_LOGIN_REGISTRATION', False):
|
||||
if initial_mode == "login":
|
||||
return old_login_view(request)
|
||||
elif initial_mode == "register":
|
||||
|
||||
@@ -415,6 +415,31 @@ MICROSITE_CONFIGURATION = {
|
||||
"ENABLE_PAID_COURSE_REGISTRATION": True,
|
||||
"SESSION_COOKIE_DOMAIN": "test_microsite.localhost",
|
||||
},
|
||||
"microsite_with_logistration": {
|
||||
"domain_prefix": "logistration",
|
||||
"university": "logistration",
|
||||
"platform_name": "Test logistration",
|
||||
"logo_image_url": "test_microsite/images/header-logo.png",
|
||||
"email_from_address": "test_microsite@edx.org",
|
||||
"payment_support_email": "test_microsite@edx.org",
|
||||
"ENABLE_MKTG_SITE": False,
|
||||
"ENABLE_COMBINED_LOGIN_REGISTRATION": True,
|
||||
"SITE_NAME": "test_microsite.localhost",
|
||||
"course_org_filter": "LogistrationX",
|
||||
"course_about_show_social_links": False,
|
||||
"css_overrides_file": "test_microsite/css/test_microsite.css",
|
||||
"show_partners": False,
|
||||
"show_homepage_promo_video": False,
|
||||
"course_index_overlay_text": "Logistration.",
|
||||
"course_index_overlay_logo_file": "test_microsite/images/header-logo.png",
|
||||
"homepage_overlay_html": "<h1>This is a Logistration HTML</h1>",
|
||||
"ALWAYS_REDIRECT_HOMEPAGE_TO_DASHBOARD_FOR_AUTHENTICATED_USER": False,
|
||||
"COURSE_CATALOG_VISIBILITY_PERMISSION": "see_in_catalog",
|
||||
"COURSE_ABOUT_VISIBILITY_PERMISSION": "see_about_page",
|
||||
"ENABLE_SHOPPING_CART": True,
|
||||
"ENABLE_PAID_COURSE_REGISTRATION": True,
|
||||
"SESSION_COOKIE_DOMAIN": "test_logistration.localhost",
|
||||
},
|
||||
"default": {
|
||||
"university": "default_university",
|
||||
"domain_prefix": "www",
|
||||
@@ -422,6 +447,7 @@ MICROSITE_CONFIGURATION = {
|
||||
}
|
||||
MICROSITE_ROOT_DIR = COMMON_ROOT / 'test' / 'test_microsites'
|
||||
MICROSITE_TEST_HOSTNAME = 'testmicrosite.testserver'
|
||||
MICROSITE_LOGISTRATION_HOSTNAME = 'logistration.testserver'
|
||||
|
||||
FEATURES['USE_MICROSITES'] = True
|
||||
|
||||
|
||||
@@ -102,12 +102,16 @@ class LmsSearchFilterGeneratorTestCase(ModuleStoreTestCase):
|
||||
self.assertEqual(0, len(field_dictionary['course']))
|
||||
|
||||
def test_excludes_microsite(self):
|
||||
""" By default there is the test microsite to exclude """
|
||||
"""
|
||||
By default there is the test microsite and the microsite with logistration
|
||||
to exclude
|
||||
"""
|
||||
_, _, exclude_dictionary = LmsSearchFilterGenerator.generate_field_filters(user=self.user)
|
||||
self.assertIn('org', exclude_dictionary)
|
||||
exclude_orgs = exclude_dictionary['org']
|
||||
self.assertEqual(1, len(exclude_orgs))
|
||||
self.assertEqual('TestMicrositeX', exclude_orgs[0])
|
||||
self.assertEqual(2, len(exclude_orgs))
|
||||
self.assertEqual('LogistrationX', exclude_orgs[0])
|
||||
self.assertEqual('TestMicrositeX', exclude_orgs[1])
|
||||
|
||||
@patch('microsite_configuration.microsite.get_all_orgs', Mock(return_value=[]))
|
||||
def test_excludes_no_microsite(self):
|
||||
|
||||
Reference in New Issue
Block a user