""" Tests for help_context_processor.py """ import ConfigParser from mock import patch from django.conf import settings from django.test import TestCase from openedx.core.release import doc_version from util.help_context_processor import common_doc_url CONFIG_FILE = open(settings.REPO_ROOT / "docs" / "lms_config.ini") CONFIG = ConfigParser.ConfigParser() CONFIG.readfp(CONFIG_FILE) class HelpContextProcessorTest(TestCase): """ Tests for help_context_processor.py """ @staticmethod def _get_doc_url(page_token=None): """ Helper method for getting the doc url. """ return common_doc_url(None, CONFIG)['get_online_help_info'](page_token)['doc_url'] @staticmethod def _get_pdf_url(): """ Helper method for getting the pdf url. """ return common_doc_url(None, CONFIG)['get_online_help_info']()['pdf_url'] def test_get_doc_url(self): # Test default values. doc = "http://edx.readthedocs.io/projects/open-edx-learner-guide/en/{}/index.html" self.assertEqual(self._get_doc_url(), doc.format(doc_version())) # Provide a known page_token. doc = "http://edx.readthedocs.io/projects/open-edx-learner-guide/en/{}/sfd_dashboard_profile/index.html" self.assertEqual(self._get_doc_url('profile'), doc.format(doc_version())) # Use settings.DOC_LINK_BASE_URL to override default base_url. doc = "settings_base_url/en/{}/SFD_instructor_dash_help.html" with patch('django.conf.settings.DOC_LINK_BASE_URL', 'settings_base_url'): self.assertEqual(self._get_doc_url('instructor'), doc.format(doc_version())) def test_get_pdf_url(self): # Test default values. doc = "https://media.readthedocs.org/pdf/open-edx-learner-guide/{}/open-edx-learner-guide.pdf" self.assertEqual(self._get_pdf_url(), doc.format(doc_version())) # Use settings.DOC_LINK_BASE_URL to override default base_url. doc = "settings_base_url/{}/open-edx-learner-guide.pdf" with patch('django.conf.settings.DOC_LINK_BASE_URL', 'settings_base_url'): self.assertEqual(self._get_pdf_url(), doc.format(doc_version()))