48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from ..pages.studio.auto_auth import AutoAuthPage
|
|
from ..fixtures.course import CourseFixture
|
|
from acceptance.tests.helpers import UniqueCourseTest
|
|
|
|
|
|
class StudioCourseTest(UniqueCourseTest):
|
|
"""
|
|
Base class for all Studio course tests.
|
|
"""
|
|
|
|
def setUp(self):
|
|
"""
|
|
Install a course with no content using a fixture.
|
|
"""
|
|
super(StudioCourseTest, self).setUp()
|
|
|
|
self.course_fixture = CourseFixture(
|
|
self.course_info['org'],
|
|
self.course_info['number'],
|
|
self.course_info['run'],
|
|
self.course_info['display_name']
|
|
)
|
|
self.populate_course_fixture(self.course_fixture)
|
|
self.course_fixture.install()
|
|
self.user = self.course_fixture.user
|
|
self.log_in(self.user)
|
|
|
|
def populate_course_fixture(self, course_fixture):
|
|
"""
|
|
Populate the children of the test course fixture.
|
|
"""
|
|
pass
|
|
|
|
def log_in(self, user, is_staff=False):
|
|
"""
|
|
Log in as the user that created the course. The user will be given instructor access
|
|
to the course and enrolled in it. By default the user will not have staff access unless
|
|
is_staff is passed as True.
|
|
"""
|
|
self.auth_page = AutoAuthPage(
|
|
self.browser,
|
|
staff=is_staff,
|
|
username=user.get('username'),
|
|
email=user.get('email'),
|
|
password=user.get('password')
|
|
)
|
|
self.auth_page.visit()
|