""" 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 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 = [ '