def setup_course_and_user( self, days_till_start=1, days_till_end=14, days_till_upgrade_deadline=4, enroll_user=True, enrollment_mode=CourseMode.VERIFIED, user_enrollment_mode=None, course_min_price=100, days_till_verification_deadline=14, verification_status=None, sku=None, create_user=True ): """Set up the course and user for this test.""" now = datetime.now(utc) if create_user: self.user = UserFactory.create(username='******', password='******') # pylint: disable=attribute-defined-outside-init self.course = CourseFactory.create( # pylint: disable=attribute-defined-outside-init start=now + timedelta(days=days_till_start) ) if days_till_end is not None: self.course.end = now + timedelta(days=days_till_end) else: self.course.end = None if enrollment_mode is not None and days_till_upgrade_deadline is not None: CourseModeFactory.create( course_id=self.course.id, mode_slug=enrollment_mode, expiration_datetime=now + timedelta(days=days_till_upgrade_deadline), min_price=course_min_price, sku=sku ) if enroll_user: if user_enrollment_mode: CourseEnrollmentFactory.create(course_id=self.course.id, user=self.user, mode=user_enrollment_mode) else: enrollment_mode = enrollment_mode or CourseMode.DEFAULT_MODE_SLUG CourseEnrollmentFactory.create(course_id=self.course.id, user=self.user, mode=enrollment_mode) if days_till_verification_deadline is not None: VerificationDeadline.objects.create( course_key=self.course.id, deadline=now + timedelta(days=days_till_verification_deadline) ) if verification_status is not None: SoftwareSecurePhotoVerificationFactory.create(user=self.user, status=verification_status)
def create_user(verification_status=None): """ Create a new User instance. Arguments: verification_status (str): User's verification status. If this value is set an instance of SoftwareSecurePhotoVerification will be created for the user with the specified status. """ user = UserFactory() if verification_status is not None: SoftwareSecurePhotoVerificationFactory.create(user=user, status=verification_status) return user
def setUp(self): super(XQueueCertInterfaceAddCertificateTest, self).setUp() self.user = UserFactory.create() self.course = CourseFactory.create() self.enrollment = CourseEnrollmentFactory( user=self.user, course_id=self.course.id, is_active=True, mode="honor", ) self.xqueue = XQueueCertInterface() self.user_2 = UserFactory.create() SoftwareSecurePhotoVerificationFactory.create(user=self.user_2, status='approved')
def setup_course_and_user( self, days_till_start=1, days_till_end=14, days_till_upgrade_deadline=4, enrollment_mode=CourseMode.VERIFIED, days_till_verification_deadline=14, verification_status=None, sku=None ): """Set up the course and user for this test.""" now = datetime.now(pytz.UTC) self.course = CourseFactory.create( # pylint: disable=attribute-defined-outside-init start=now + timedelta(days=days_till_start) ) self.user = UserFactory.create() # pylint: disable=attribute-defined-outside-init if days_till_end is not None: self.course.end = now + timedelta(days=days_till_end) else: self.course.end = None if enrollment_mode is not None and days_till_upgrade_deadline is not None: CourseModeFactory.create( course_id=self.course.id, mode_slug=enrollment_mode, expiration_datetime=now + timedelta(days=days_till_upgrade_deadline), sku=sku ) CourseEnrollmentFactory.create(course_id=self.course.id, user=self.user, mode=enrollment_mode) else: CourseEnrollmentFactory.create(course_id=self.course.id, user=self.user) if days_till_verification_deadline is not None: VerificationDeadline.objects.create( course_key=self.course.id, deadline=now + timedelta(days=days_till_verification_deadline) ) if verification_status is not None: SoftwareSecurePhotoVerificationFactory.create(user=self.user, status=verification_status)
def _create_entry(self): """ Helper method to create and return a SoftwareSecurePhotoVerification with appropriate data """ name = 'Test Name' face_url = 'https://test.invalid' id_url = 'https://test2.invalid' key = 'test+key' user = UserFactory() return SoftwareSecurePhotoVerificationFactory( user=user, name=name, face_image_url=face_url, photo_id_image_url=id_url, photo_id_key=key)