예제 #1
0
 def setUp(self):
     super(CourseEnrollmentBadgeTest, self).setUp()
     self.badge_classes = [
         BadgeClassFactory(issuing_component='openedx__course'),
         BadgeClassFactory(issuing_component='openedx__course'),
         BadgeClassFactory(issuing_component='openedx__course'),
     ]
     nums = ['3', '5', '8']
     entries = [
         ','.join(pair)
         for pair in zip(nums, [badge.slug for badge in self.badge_classes])
     ]
     enrollment_config = '\r'.join(entries)
     self.config = CourseEventBadgesConfigurationFactory(
         courses_enrolled=enrollment_config)
예제 #2
0
 def setUp(self, **kwargs):
     super(CourseCompletionBadgeTest, self).setUp()
     self.badge_classes = [
         BadgeClassFactory(issuing_component='openedx__course'),
         BadgeClassFactory(issuing_component='openedx__course'),
         BadgeClassFactory(issuing_component='openedx__course'),
     ]
     nums = ['2', '6', '9']
     entries = [
         ','.join(pair)
         for pair in zip(nums, [badge.slug for badge in self.badge_classes])
     ]
     completed_config = '\r'.join(entries)
     self.config = CourseEventBadgesConfigurationFactory.create(
         courses_completed=completed_config)
     self.config.clean_fields()
예제 #3
0
    def test_assertions_for_user(self):
        """
        Verify that grabbing all assertions for a user behaves as expected.

        This function uses object IDs because for some reason Jenkins trips up
        on its assertItemsEqual check here despite the items being equal.
        """
        user = UserFactory()
        assertions = [
            BadgeAssertionFactory.create(user=user).id for _i in range(3)
        ]
        course = CourseFactory.create()
        course_key = course.location.course_key
        course_badges = [
            BadgeClassFactory(course_id=course_key) for _i in range(3)
        ]
        course_assertions = [
            BadgeAssertionFactory.create(user=user, badge_class=badge_class).id
            for badge_class in course_badges
        ]
        assertions.extend(course_assertions)
        assertions.sort()
        assertions_for_user = [
            badge.id for badge in BadgeAssertion.assertions_for_user(user)
        ]
        assertions_for_user.sort()
        self.assertEqual(assertions_for_user, assertions)
        course_scoped_assertions = [
            badge.id for badge in BadgeAssertion.assertions_for_user(
                user, course_id=course_key)
        ]
        course_scoped_assertions.sort()
        self.assertEqual(course_scoped_assertions, course_assertions)
예제 #4
0
 def setUp(self):
     super(CourseGroupBadgeTest, self).setUp()
     self.badge_classes = [
         BadgeClassFactory(issuing_component='openedx__course'),
         BadgeClassFactory(issuing_component='openedx__course'),
         BadgeClassFactory(issuing_component='openedx__course'),
     ]
     self.courses = []
     for _badge_class in self.badge_classes:
         # pylint: disable=no-member
         self.courses.append(
             [CourseFactory().location.course_key for _i in range(3)])
     lines = [
         badge_class.slug + ',' +
         ','.join([unicode(course_key) for course_key in keys])
         for badge_class, keys in zip(self.badge_classes, self.courses)
     ]
     config = '\r'.join(lines)
     self.config = CourseEventBadgesConfigurationFactory(
         course_groups=config)
     self.config_map = dict(zip(self.badge_classes, self.courses))
예제 #5
0
 def test_get_assertions(self):
     """
     Verify we can get all of a user's badge assertions.
     """
     for dummy in range(3):
         BadgeAssertionFactory(user=self.user)
     # Add in a course scoped badge-- these should not be excluded from the full listing.
     BadgeAssertionFactory(user=self.user, badge_class=BadgeClassFactory(course_id=self.course.location.course_key))
     # Should not be included.
     for dummy in range(3):
         self.create_badge_class(False)
     response = self.get_json(self.url())
     self.assertEqual(len(response['results']), 4)