Beispiel #1
0
 def test_create_seat_masters_track(self, form_data):
     course_run = CourseRunFactory()
     form = SeatForm(data=form_data)
     seat = form.save(course_run=course_run)
     expected_masters = 'masters_track' in form_data and form_data[
         'masters_track']
     self.assertEqual(expected_masters, seat.masters_track)
Beispiel #2
0
 def test_create_audit_seat_for_credit_and_verified_course_runs(
         self, seat_type):
     seat = SeatFactory(type=seat_type)
     form = SeatForm(instance=seat)
     form.save()
     assert seat.course_run.seats.count() == 2
     assert seat.course_run.seats.filter(type=Seat.AUDIT, price=0).exists()
Beispiel #3
0
 def test_remove_audit_seat_for_professional_course_runs(self, seat_type):
     seat = SeatFactory(type=seat_type)
     audit_seat = SeatFactory(type=Seat.AUDIT, course_run=seat.course_run)
     form = SeatForm(instance=seat)
     form.save()
     assert list(seat.course_run.seats.all()) == [seat]
     assert not Seat.objects.filter(pk=audit_seat.pk).exists()
Beispiel #4
0
 def test_negative_price(self):
     """
     Verify that form raises an error when price is in -ive format
     """
     form_data = {'type': Seat.VERIFIED, 'price': -0.05}
     seat_form = SeatForm(data=form_data)
     self.assertFalse(seat_form.is_valid())
     self.assertEqual(seat_form.errors, {'price': ['Price must be greater than or equal to 0.01']})
Beispiel #5
0
    def test_type_is_required(self):
        """
        Verify that form raises an error when type is not given
        """
        seat_form = SeatForm(data={})
        self.assertFalse(seat_form.is_valid())
        self.assertEqual(seat_form.errors, {'type': ['This field is required.']})

        seat_form_with_type = SeatForm(data={'type': Seat.AUDIT})
        self.assertTrue(seat_form_with_type.is_valid())

        seat_form_masters = SeatForm(data={'masters_track': True})
        self.assertFalse(seat_form_masters.is_valid())
Beispiel #6
0
 def test_audit_only_seat_not_modified(self):
     seat = SeatFactory(type=Seat.AUDIT)
     form = SeatForm(instance=seat)
     form.save()
     assert list(seat.course_run.seats.all()) == [seat]