""" Tests for the course import API views """ from datetime import datetime from django.core.urlresolvers import reverse from rest_framework import status from rest_framework.test import APITestCase from lms.djangoapps.courseware.tests.factories import StaffFactory from student.tests.factories import UserFactory from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory class CourseValidationViewTest(SharedModuleStoreTestCase, APITestCase): """ Test course validation view via a RESTful API """ MODULESTORE = TEST_DATA_SPLIT_MODULESTORE @classmethod def setUpClass(cls): super(CourseValidationViewTest, cls).setUpClass() cls.course = CourseFactory.create(display_name='test course', run="Testing_course") cls.course_key = cls.course.id cls.password = 'test' cls.student = UserFactory(username='dummy', password=cls.password) cls.staff = StaffFactory(course_key=cls.course.id, password=cls.password) cls.initialize_course(cls.course) @classmethod def initialize_course(cls, course): """ Sets up test course structure. """ course.start = datetime.now() course.self_paced = True cls.store.update_item(course, cls.staff.id) update_key = course.id.make_usage_key('course_info', 'updates') cls.store.create_item( cls.staff.id, update_key.course_key, update_key.block_type, block_id=update_key.block_id, fields=dict(data=u"