Beispiel #1
0
 def test_queryset_method_returns_eligible_programs(self):
     """ Verify that one click purchase eligible programs pass the filter. """
     verified_seat_type, __ = SeatType.objects.get_or_create(
         name=Seat.VERIFIED)
     program_type = factories.ProgramTypeFactory(
         applicable_seat_types=[verified_seat_type])
     program_filter = ProgramEligibilityFilter(None,
                                               {self.parameter_name: 1},
                                               None, None)
     course_run = factories.CourseRunFactory(
         end=None,
         enrollment_end=None,
     )
     factories.SeatFactory(course_run=course_run,
                           type='verified',
                           upgrade_deadline=None)
     one_click_purchase_eligible_program = factories.ProgramFactory(
         type=program_type,
         courses=[course_run.course],
         one_click_purchase_enabled=True,
     )
     with self.assertNumQueries(12):
         self.assertEqual(
             list(program_filter.queryset({}, Program.objects.all())),
             [one_click_purchase_eligible_program])
Beispiel #2
0
 def test_queryset_method_returns_ineligible_programs(self):
     """ Verify programs ineligible for one-click purchase do not pass the filter. """
     program_filter = ProgramEligibilityFilter(None, {self.parameter_name: 0}, None, None)
     one_click_purchase_ineligible_program = factories.ProgramFactory(one_click_purchase_enabled=False)
     with self.assertNumQueries(4):
         self.assertEqual(
             list(program_filter.queryset({}, Program.objects.all())),
             [one_click_purchase_ineligible_program]
         )
 def test_queryset_method_returns_all_programs(self):
     """ Verify that all programs pass the filter. """
     verified_seat_type = factories.SeatTypeFactory.verified()
     program_type = factories.ProgramTypeFactory(applicable_seat_types=[verified_seat_type])
     program_filter = ProgramEligibilityFilter(None, {}, None, None)
     course_run = factories.CourseRunFactory()
     factories.SeatFactory(course_run=course_run, type=verified_seat_type, upgrade_deadline=None)
     one_click_purchase_eligible_program = factories.ProgramFactory(
         type=program_type,
         courses=[course_run.course],
         one_click_purchase_enabled=True
     )
     one_click_purchase_ineligible_program = factories.ProgramFactory(courses=[course_run.course])
     with self.assertNumQueries(1):
         assert list(program_filter.queryset({}, Program.objects.all())) == \
                [one_click_purchase_eligible_program, one_click_purchase_ineligible_program]