Esempio n. 1
0
    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
Esempio n. 3
0
 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')
Esempio n. 4
0
    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)
Esempio n. 5
0
 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)