def _create_enterprise_course_enrollments(cls, count):
        """
            Creates `count` test enrollments plus 1 invalid and 1 Audit enrollment
        """
        for _ in range(count):
            user = UserFactory()
            course_enrollment = CourseEnrollmentFactory(
                mode=CourseMode.VERIFIED, user=user)
            course = course_enrollment.course
            enterprise_customer_user = EnterpriseCustomerUserFactory(
                user_id=user.id)
            EnterpriseCourseEnrollmentFactory(
                enterprise_customer_user=enterprise_customer_user,
                course_id=course.id)

        # creating audit enrollment
        user = UserFactory()
        course_enrollment = CourseEnrollmentFactory(mode=CourseMode.AUDIT,
                                                    user=user)
        course = course_enrollment.course
        enterprise_customer_user = EnterpriseCustomerUserFactory(
            user_id=user.id)
        EnterpriseCourseEnrollmentFactory(
            enterprise_customer_user=enterprise_customer_user,
            course_id=course.id)

        # creating invalid enrollment (with no CourseEnrollment)
        user = UserFactory()
        enterprise_customer_user = EnterpriseCustomerUserFactory(
            user_id=user.id)
        EnterpriseCourseEnrollmentFactory(
            enterprise_customer_user=enterprise_customer_user,
            course_id=course.id)
Exemplo n.º 2
0
    def setUpClass(cls):
        super().setUpClass()

        cls.user = UserFactory()
        modulestore_course = ModuleStoreCourseFactory()
        course_run = CourseRunFactory(key=str(modulestore_course.id))
        course = CourseFactory(course_runs=[course_run])
        enterprise_customer = EnterpriseCustomerFactory(uuid=cls.enterprise_uuid)
        enterprise_customer_user = EnterpriseCustomerUserFactory(
            user_id=cls.user.id,
            enterprise_customer=enterprise_customer
        )
        CourseEnrollmentFactory(
            is_active=True,
            course_id=modulestore_course.id,
            user=cls.user
        )
        EnterpriseCourseEnrollmentFactory(
            course_id=modulestore_course.id,
            enterprise_customer_user=enterprise_customer_user
        )

        cls.program = ProgramFactory(
            uuid=cls.program_uuid,
            courses=[course],
            title='Journey to cooking',
            type='MicroMasters',
            authoring_organizations=[{
                'key': 'MAX',
                'logo_image_url': 'http://test.org/media/organization/logos/test-logo.png'
            }],
        )
        cls.site = SiteFactory(domain='test.localhost')
Exemplo n.º 3
0
 def _create_enterprise_enrollment(self, user_id, course_id):
     """
     Create enterprise user and enrollment
     """
     enterprise_customer_user = EnterpriseCustomerUserFactory(
         user_id=user_id, enterprise_customer=self.enterprise_customer)
     EnterpriseCourseEnrollmentFactory(
         course_id=course_id,
         enterprise_customer_user=enterprise_customer_user,
     )
Exemplo n.º 4
0
 def test_get_enterprise_event_context(self):
     course_enrollment = CourseEnrollmentFactory(user=self.user)
     course = course_enrollment.course
     enterprise_customer_user = EnterpriseCustomerUserFactory(
         user_id=self.user.id)
     EnterpriseCourseEnrollmentFactory(
         enterprise_customer_user=enterprise_customer_user,
         course_id=course.id)
     assert get_enterprise_event_context(course_id=course.id, user_id=self.user.id) == \
            {'enterprise_uuid': str(enterprise_customer_user.enterprise_customer_id)}
Exemplo n.º 5
0
    def test_signal_update_dsc_cache_on_course_enrollment(self):
        """
        make sure update_dsc_cache_on_course_enrollment signal clears cache when Enterprise Course Enrollment
        takes place
        """

        self._create_dsc_cache(self.user.id, self.course_id)
        self.assertTrue(self._is_dsc_cache_found(self.user.id, self.course_id))

        # Enrolling user to Course
        enterprise_customer_user = EnterpriseCustomerUserFactory(
            user_id=self.user.id)
        EnterpriseCourseEnrollmentFactory(
            course_id=self.course_id,
            enterprise_customer_user=enterprise_customer_user,
        )
        self.assertFalse(self._is_dsc_cache_found(self.user.id,
                                                  self.course_id))
Exemplo n.º 6
0
    def test_signal_update_dsc_cache_on_enterprise_customer_update(self):
        """
        make sure update_dsc_cache_on_enterprise_customer_update signal clears data_sharing_consent_needed cache after
         enable_data_sharing_consent flag is changed.
        """

        # Enrolling user to Course
        enterprise_customer = EnterpriseCustomerFactory()
        enterprise_customer_user = EnterpriseCustomerUserFactory(
            user_id=self.user.id, enterprise_customer=enterprise_customer)
        EnterpriseCourseEnrollmentFactory(
            course_id=self.course_id,
            enterprise_customer_user=enterprise_customer_user,
        )

        self._create_dsc_cache(self.user.id, self.course_id)
        self.assertTrue(self._is_dsc_cache_found(self.user.id, self.course_id))

        # updating enable_data_sharing_consent flag
        enterprise_customer.enable_data_sharing_consent = False
        enterprise_customer.save()

        self.assertFalse(self._is_dsc_cache_found(self.user.id,
                                                  self.course_id))
Exemplo n.º 7
0
 def setUpTestData(cls):  # lint-amnesty, pylint: disable=super-method-not-called
     enterprise_customer_user = EnterpriseCustomerUserFactory()
     enterprise_course_enrollment = EnterpriseCourseEnrollmentFactory(
         enterprise_customer_user=enterprise_customer_user)
     cls.enterprise_customer_user = enterprise_customer_user
     cls.enterprise_course_enrollment = enterprise_course_enrollment