コード例 #1
0
 def test_coupon_codes_features(self):
     query_features = [
         'course_id', 'percentage_discount', 'code_redeemed_count',
         'description'
     ]
     for i in range(10):
         coupon = Coupon(code='test_code{0}'.format(i),
                         description='test_description',
                         course_id=self.course.id,
                         percentage_discount='{0}'.format(i),
                         created_by=self.instructor,
                         is_active=True)
         coupon.save()
     active_coupons = Coupon.objects.filter(course_id=self.course.id,
                                            is_active=True)
     active_coupons_list = coupon_codes_features(query_features,
                                                 active_coupons)
     self.assertEqual(len(active_coupons_list), len(active_coupons))
     for active_coupon in active_coupons_list:
         self.assertEqual(set(active_coupon.keys()), set(query_features))
         self.assertIn(
             active_coupon['percentage_discount'],
             [coupon.percentage_discount for coupon in active_coupons])
         self.assertIn(active_coupon['description'],
                       [coupon.description for coupon in active_coupons])
         self.assertIn(active_coupon['course_id'], [
             coupon.course_id.to_deprecated_string()
             for coupon in active_coupons
         ])
コード例 #2
0
    def test_coupon_codes_features(self):
        query_features = [
            'course_id', 'percentage_discount', 'code_redeemed_count',
            'description', 'expiration_date', 'total_discounted_amount',
            'total_discounted_seats'
        ]
        for i in range(10):
            coupon = Coupon(code='test_code{0}'.format(i),
                            description='test_description',
                            course_id=self.course.id,
                            percentage_discount='{0}'.format(i),
                            created_by=self.instructor,
                            is_active=True)
            coupon.save()
        #now create coupons with the expiration dates
        for i in range(5):
            coupon = Coupon(code='coupon{0}'.format(i),
                            description='test_description',
                            course_id=self.course.id,
                            percentage_discount='{0}'.format(i),
                            created_by=self.instructor,
                            is_active=True,
                            expiration_date=datetime.datetime.now(pytz.UTC) +
                            datetime.timedelta(days=2))
            coupon.save()

        active_coupons = Coupon.objects.filter(
            Q(course_id=self.course.id), Q(is_active=True),
            Q(expiration_date__gt=datetime.datetime.now(pytz.UTC))
            | Q(expiration_date__isnull=True))
        active_coupons_list = coupon_codes_features(query_features,
                                                    active_coupons,
                                                    self.course.id)
        self.assertEqual(len(active_coupons_list), len(active_coupons))
        for active_coupon in active_coupons_list:
            self.assertEqual(set(active_coupon.keys()), set(query_features))
            self.assertIn(
                active_coupon['percentage_discount'],
                [coupon.percentage_discount for coupon in active_coupons])
            self.assertIn(active_coupon['description'],
                          [coupon.description for coupon in active_coupons])
            if active_coupon['expiration_date']:
                self.assertIn(
                    active_coupon['expiration_date'],
                    [coupon.display_expiry_date for coupon in active_coupons])
            self.assertIn(active_coupon['course_id'], [
                coupon.course_id.to_deprecated_string()
                for coupon in active_coupons
            ])
コード例 #3
0
ファイル: test_basic.py プロジェクト: luisvasq/edx-platform
    def test_coupon_codes_features(self):
        query_features = [
            'course_id', 'percentage_discount', 'code_redeemed_count', 'description', 'expiration_date',
            'total_discounted_amount', 'total_discounted_seats'
        ]
        for i in range(10):
            coupon = Coupon(
                code='test_code{0}'.format(i),
                description='test_description',
                course_id=self.course.id, percentage_discount='{0}'.format(i),
                created_by=self.instructor,
                is_active=True
            )
            coupon.save()
        #now create coupons with the expiration dates
        for i in range(5):
            coupon = Coupon(
                code='coupon{0}'.format(i), description='test_description', course_id=self.course.id,
                percentage_discount='{0}'.format(i), created_by=self.instructor, is_active=True,
                expiration_date=datetime.datetime.now(pytz.UTC) + datetime.timedelta(days=2)
            )
            coupon.save()

        active_coupons = Coupon.objects.filter(
            Q(course_id=self.course.id),
            Q(is_active=True),
            Q(expiration_date__gt=datetime.datetime.now(pytz.UTC)) |
            Q(expiration_date__isnull=True)
        )
        active_coupons_list = coupon_codes_features(query_features, active_coupons, self.course.id)
        self.assertEqual(len(active_coupons_list), len(active_coupons))
        for active_coupon in active_coupons_list:
            self.assertEqual(set(active_coupon.keys()), set(query_features))
            self.assertIn(active_coupon['percentage_discount'], [coupon.percentage_discount for coupon in active_coupons])
            self.assertIn(active_coupon['description'], [coupon.description for coupon in active_coupons])
            if active_coupon['expiration_date']:
                self.assertIn(active_coupon['expiration_date'], [coupon.display_expiry_date for coupon in active_coupons])
            self.assertIn(
                active_coupon['course_id'],
                [text_type(coupon.course_id) for coupon in active_coupons]
            )
コード例 #4
0
 def test_coupon_codes_features(self):
     query_features = [
         'course_id', 'percentage_discount', 'code_redeemed_count', 'description'
     ]
     for i in range(10):
         coupon = Coupon(
             code='test_code{0}'.format(i), description='test_description', course_id=self.course.id,
             percentage_discount='{0}'.format(i), created_by=self.instructor, is_active=True
         )
         coupon.save()
     active_coupons = Coupon.objects.filter(course_id=self.course.id, is_active=True)
     active_coupons_list = coupon_codes_features(query_features, active_coupons)
     self.assertEqual(len(active_coupons_list), len(active_coupons))
     for active_coupon in active_coupons_list:
         self.assertEqual(set(active_coupon.keys()), set(query_features))
         self.assertIn(active_coupon['percentage_discount'], [coupon.percentage_discount for coupon in active_coupons])
         self.assertIn(active_coupon['description'], [coupon.description for coupon in active_coupons])
         self.assertIn(
             active_coupon['course_id'],
             [coupon.course_id.to_deprecated_string() for coupon in active_coupons]
         )