Put the program_types filter under the waffle switch
This commit is contained in:
@@ -12,6 +12,7 @@ from urlparse import parse_qs, urlsplit, urlunsplit
|
||||
|
||||
import analytics
|
||||
import edx_oauth2_provider
|
||||
import waffle
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth import authenticate, login, logout
|
||||
@@ -174,6 +175,7 @@ def index(request, extra_context=None, user=AnonymousUser()):
|
||||
if extra_context is None:
|
||||
extra_context = {}
|
||||
|
||||
programs_list = []
|
||||
courses = get_courses(user)
|
||||
|
||||
if configuration_helpers.get_value(
|
||||
@@ -207,7 +209,11 @@ def index(request, extra_context=None, user=AnonymousUser()):
|
||||
# Insert additional context for use in the template
|
||||
context.update(extra_context)
|
||||
|
||||
context['programs_list'] = get_programs_with_type(include_hidden=False)
|
||||
# Add marketable programs to the context if the multi-tenant programs switch is enabled.
|
||||
if waffle.switch_is_active('get-multitenant-programs'):
|
||||
programs_list = get_programs_with_type(include_hidden=False)
|
||||
|
||||
context['programs_list'] = programs_list
|
||||
|
||||
return render_to_response('index.html', context)
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ from milestones.tests.utils import MilestonesTestCaseMixin
|
||||
from mock import Mock, patch
|
||||
from nose.plugins.attrib import attr
|
||||
from pytz import UTC
|
||||
from waffle.testutils import override_switch
|
||||
|
||||
from branding.views import index
|
||||
from courseware.tests.helpers import LoginEnrollmentTestCase
|
||||
@@ -297,18 +298,19 @@ class IndexPageProgramsTests(SiteMixin, ModuleStoreTestCase):
|
||||
"""
|
||||
Tests for Programs List in Marketing Pages.
|
||||
"""
|
||||
@ddt.data([], ['fake_program_type'])
|
||||
def test_get_programs_with_type_called(self, program_types):
|
||||
@ddt.data(True, False)
|
||||
def test_get_programs_with_type_called(self, multitenant_programs_enabled):
|
||||
views = [
|
||||
(reverse('root'), 'student.views.get_programs_with_type'),
|
||||
(reverse('branding.views.courses'), 'courseware.views.views.get_programs_with_type'),
|
||||
]
|
||||
for url, dotted_path in views:
|
||||
with patch(dotted_path) as mock_get_programs_with_type:
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
with override_switch('get-multitenant-programs', multitenant_programs_enabled):
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
if program_types:
|
||||
mock_get_programs_with_type.assert_called_once()
|
||||
else:
|
||||
mock_get_programs_with_type.assert_not_called()
|
||||
if multitenant_programs_enabled:
|
||||
mock_get_programs_with_type.assert_called_once()
|
||||
else:
|
||||
mock_get_programs_with_type.assert_not_called()
|
||||
|
||||
@@ -8,6 +8,7 @@ from collections import OrderedDict, namedtuple
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import analytics
|
||||
import waffle
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.models import AnonymousUser, User
|
||||
@@ -155,7 +156,9 @@ def courses(request):
|
||||
else:
|
||||
courses_list = sort_by_announcement(courses_list)
|
||||
|
||||
programs_list = get_programs_with_type(include_hidden=False)
|
||||
# Add marketable programs to the context if the multi-tenant programs switch is enabled.
|
||||
if waffle.switch_is_active('get-multitenant-programs'):
|
||||
programs_list = get_programs_with_type(include_hidden=False)
|
||||
|
||||
return render_to_response(
|
||||
"courseware/courses.html",
|
||||
|
||||
Reference in New Issue
Block a user