Files
edx-platform/cms/lib/test/test_ai_aside_summary_config.py
German 3f20c75043 feat: [ACADEMIC-16209] Unit summary settings (#32855)
* feat: [ACADEMIC-16209] Unit summary settings

[https://jira.2u.com/browse/ACADEMIC-16209](https://jira.2u.com/browse/ACADEMIC-16209)

1. Add unit xpert unit summaries settings behind flag `summaryhook_summaries_configuration` added [here](https://github.com/edx/ai-aside/pull/45/files)
2. Only show the checkbox when the value is a `boolean` otherwise the feature is considerer `disabled` by the flag.
3. Update block handler to update this value via `api` exposed [here](https://github.com/edx/ai-aside/pull/43)
4. Create `AiAsideSummary` configuration class to provide access to the `ai_aside.api` endpoints.
2023-08-21 14:55:22 -03:00

63 lines
2.5 KiB
Python

"""
Tests for AiAsideSummaryConfig class.
"""
import sys
from unittest import TestCase
from unittest.mock import Mock
from opaque_keys.edx.keys import CourseKey, UsageKey
from cms.lib.ai_aside_summary_config import AiAsideSummaryConfig
ai_aside = Mock()
sys.modules['ai_aside.config_api.api'] = ai_aside
class AiAsideSummaryConfigTestCase(TestCase):
""" Tests for AiAsideSummaryConfig. """
COURSE_KEY = CourseKey.from_string("course-v1:test+Test+AiAsideSummaryConfigTestCase")
UNIT_KEY = UsageKey.from_string("block-v1:test+Test+AiAsideSummaryConfigTestCase+type@vertical+block@vertical_test")
def test_is_enabled(self):
"""
Check if summary configuration is enabled using the ai_aside lib.
"""
ai_aside_summary_config = AiAsideSummaryConfig(self.COURSE_KEY)
ai_aside.is_summary_config_enabled.return_value = True
self.assertTrue(ai_aside_summary_config.is_enabled())
ai_aside.is_summary_config_enabled.return_value = False
self.assertFalse(ai_aside_summary_config.is_enabled())
def test_is_summary_enabled(self):
"""
Check the summary configuration value for a particular course and an optional unit using the ai_aside lib.
"""
ai_aside_summary_config = AiAsideSummaryConfig(self.COURSE_KEY)
ai_aside.is_course_settings_present.return_value = True
ai_aside.is_summary_enabled.return_value = True
self.assertTrue(ai_aside_summary_config.is_summary_enabled())
ai_aside.is_course_settings_present.return_value = True
ai_aside.is_summary_enabled.return_value = False
self.assertFalse(ai_aside_summary_config.is_summary_enabled(self.UNIT_KEY))
ai_aside.is_course_settings_present.return_value = False
ai_aside.is_summary_enabled.return_value = True
self.assertIsNone(ai_aside_summary_config.is_summary_enabled())
ai_aside.is_course_settings_present.return_value = False
ai_aside.is_summary_enabled.return_value = False
self.assertIsNone(ai_aside_summary_config.is_summary_enabled(self.UNIT_KEY))
def test_set_summary_settings(self):
"""
Set the summary configuration settings for a particular unit using the ai_aside lib.
"""
ai_aside_summary_config = AiAsideSummaryConfig(self.COURSE_KEY)
ai_aside.set_unit_settings.return_value = True
self.assertTrue(ai_aside_summary_config.set_summary_settings(self.UNIT_KEY, {}))
self.assertIsNone(ai_aside_summary_config.set_summary_settings(self.UNIT_KEY))