fix: Added additional conditions for tab view rendering (#29906)

This commit is contained in:
Ahtisham Shahid
2022-02-15 18:48:57 +05:00
committed by GitHub
parent a46b2e7f02
commit 649a66de4e
2 changed files with 27 additions and 2 deletions

View File

@@ -147,6 +147,15 @@ class ProgramDetailsFragmentView(EdxFragmentView):
}
program_discussion_lti = ProgramDiscussionLTI(program_uuid, request)
program_live_lti = ProgramLiveLTI(program_uuid, request)
def program_tab_view_enabled() -> bool:
return program_tab_view_is_enabled() and (
industry_pathways or
credit_pathways or
program_discussion_lti.is_configured or
program_live_lti.is_configured
)
context = {
'urls': urls,
'user_preferences': get_user_preferences(user),
@@ -155,7 +164,7 @@ class ProgramDetailsFragmentView(EdxFragmentView):
'certificate_data': certificate_data,
'industry_pathways': industry_pathways,
'credit_pathways': credit_pathways,
'program_tab_view_enabled': program_tab_view_is_enabled(),
'program_tab_view_enabled': program_tab_view_enabled(),
'discussion_fragment': {
'configured': program_discussion_lti.is_configured,
'iframe': program_discussion_lti.render_iframe()

View File

@@ -17,6 +17,7 @@ from edx_toggles.toggles.testutils import override_waffle_flag
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory as ModuleStoreCourseFactory
from lti_consumer.models import LtiConfiguration
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
from lms.djangoapps.learner_dashboard.config.waffle import ENABLE_PROGRAM_TAB_VIEW
from lms.djangoapps.program_enrollments.rest_api.v1.tests.test_views import ProgramCacheMixin
@@ -29,6 +30,7 @@ from openedx.core.djangoapps.catalog.tests.factories import (
ProgramFactory
)
from openedx.core.djangoapps.catalog.tests.mixins import CatalogIntegrationMixin
from openedx.core.djangoapps.programs.models import ProgramDiscussionsConfiguration
from openedx.core.djangoapps.programs.tests.mixins import ProgramsApiConfigMixin
from openedx.core.djangolib.testing.utils import skip_unless_lms
@@ -330,6 +332,20 @@ class TestProgramDetailsFragmentView(SharedModuleStoreTestCase, ProgramCacheMixi
"""
Test if programTabViewEnabled and discussionFragment exist in html.
"""
discussion_config = ProgramDiscussionsConfiguration.objects.create(
program_uuid=self.program_uuid,
enabled=True,
provider_type="piazza",
)
discussion_config.lti_configuration = LtiConfiguration.objects.create(
config_store=LtiConfiguration.CONFIG_ON_DB,
lti_1p1_launch_url='http://test.url',
lti_1p1_client_key='test_client_key',
lti_1p1_client_secret='test_client_secret',
)
discussion_config.save()
response = self.client.get(self.url)
self.assertContains(response, 'programTabViewEnabled: true',)
self.assertContains(response, 'discussionFragment: {"configured": false, "iframe": ""')
self.assertContains(response, 'discussionFragment: {"configured": true, "iframe":')