""" Common test utilities for courseware functionality """ from abc import ABCMeta, abstractmethod from datetime import datetime, timedelta import ddt import six from mock import patch from six.moves.urllib.parse import urlencode # pylint: disable=import-error from lms.djangoapps.courseware.field_overrides import OverrideModulestoreFieldData from lms.djangoapps.courseware.url_helpers import get_redirect_url from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory from xmodule.modulestore import ModuleStoreEnum from xmodule.modulestore.django import modulestore from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls @ddt.ddt class RenderXBlockTestMixin(six.with_metaclass(ABCMeta, object)): """ Mixin for testing the courseware.render_xblock function. It can be used for testing any higher-level endpoint that calls this method. """ # DOM elements that appear in the LMS Courseware, # but are excluded from the xBlock-only rendering. COURSEWARE_CHROME_HTML_ELEMENTS = [ '