def test_payment_time_allowed_required_advance_payment_required(self): form = SessionAdminForm( data=self.form_data( { 'advance_payment_required': False, 'payment_time_allowed': '', }, ) ) self.assertTrue(form.is_valid()) form = SessionAdminForm( data=self.form_data( { 'advance_payment_required': False, 'payment_time_allowed': 6, }, ) ) self.assertFalse(form.is_valid()) self.assertIn( 'To specify payment time allowed, please also tick "advance ' 'payment required"', str(form.errors['payment_time_allowed']) )
def test_form_with_invalid_contact_person(self): form = SessionAdminForm( data=self.form_data({'contact_person': ''})) self.assertFalse(form.is_valid()) self.assertEquals(len(form.errors), 1) self.assertIn('contact_person', form.errors.keys()) self.assertIn(['This field is required.'], form.errors.values())
def test_fields_requiring_cost(self): form = SessionAdminForm( data=self.form_data( { 'cost': 0, 'advance_payment_required': True, 'payment_time_allowed': '', }, ) ) self.assertFalse(form.is_valid()) self.assertIn( 'The following fields require a cost greater than £0: ' 'advance payment required', str(form.errors['cost']) ) form = SessionAdminForm( data=self.form_data( { 'cost': 0, 'payment_time_allowed': 6, 'advance_payment_required': True, }, ) ) self.assertFalse(form.is_valid()) self.assertIn( 'The following fields require a cost greater than £0: ' 'advance payment required, payment time allowed', str(form.errors['cost']) )
def test_paypal_email_and_check_must_match(self): form = SessionAdminForm( data=self.form_data( { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' }, ) ) self.assertFalse(form.is_valid()) self.assertIn( 'Email addresses do not match', str(form.errors['paypal_email_check']) ) self.assertIn( 'Email addresses do not match', str(form.errors['paypal_email']) ) form = SessionAdminForm( data=self.form_data( { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' }, ) ) self.assertTrue(form.is_valid())
def test_disallow_booking_cancellation_requires_cost(self): form = SessionAdminForm( data=self.form_data({'allow_booking_cancellation': False})) self.assertFalse(form.is_valid()) self.assertIn( 'Booking cancellation should be allowed for events/classes with ' 'no associated cost', str(form.errors['allow_booking_cancellation']))
def test_paypal_email_check_required_if_paypal_email_changed(self): form = SessionAdminForm( data=self.form_data( {'paypal_email': '*****@*****.**'}), ) self.assertFalse(form.is_valid()) self.assertIn( 'Please reenter paypal email to confirm changes', str(form.errors['paypal_email_check']) )
def test_disallow_booking_cancellation_requires_adv_payment_required(self): form = SessionAdminForm( data=self.form_data({ 'allow_booking_cancellation': False, 'cost': 1 })) self.assertFalse(form.is_valid()) self.assertIn( 'Advance payment must be required in order to make booking ' 'cancellation disallowed (i.e. non-refundable)', str(form.errors['allow_booking_cancellation']))
def test_disallow_booking_cancellation_requires_adv_payment_required(self): form = SessionAdminForm( data=self.form_data( {'allow_booking_cancellation': False, 'cost': 1} ) ) self.assertFalse(form.is_valid()) self.assertIn( 'Advance payment must be required in order to make booking ' 'cancellation disallowed (i.e. non-refundable)', str(form.errors['allow_booking_cancellation']) )
def test_disallow_booking_cancellation_requires_cost(self): form = SessionAdminForm( data=self.form_data( {'allow_booking_cancellation': False} ) ) self.assertFalse(form.is_valid()) self.assertIn( 'Booking cancellation should be allowed for events/classes with ' 'no associated cost', str(form.errors['allow_booking_cancellation']) )
def test_form_with_invalid_contact_email(self): form = SessionAdminForm( data=self.form_data({'contact_email': ''})) self.assertFalse(form.is_valid()) self.assertEquals(len(form.errors), 1) self.assertIn('contact_email', form.errors.keys()) self.assertIn(['This field is required.'], form.errors.values()) form = SessionAdminForm( data=self.form_data({'contact_email': 'test_email'})) self.assertFalse(form.is_valid()) self.assertEquals(len(form.errors), 1) self.assertIn('contact_email', form.errors.keys()) self.assertIn(['Enter a valid email address.'], form.errors.values())
def test_event_type_queryset_excludes_events(self): form = SessionAdminForm(data=self.form_data()) ev_type_field = form.fields['event_type'] self.assertEqual(set(EventType.objects.filter(event_type='CL')), set(ev_type_field.queryset)) self.assertEquals(ev_type_field.queryset.count(), 2) self.assertEqual( set( EventType.objects.filter( id__in=[self.event_type.id, self.event_type_oc.id])), set(ev_type_field.queryset))
def test_event_type_queryset_inlcudes_room_hire_and_classes(self): rh_type = mommy.make_recipe('booking.event_type_RH') form = SessionAdminForm(data=self.form_data()) ev_type_field = form.fields['event_type'] self.assertEqual( set( EventType.objects.filter(id__in=[ self.event_type.id, self.event_type_oc.id, rh_type.id ])), set(ev_type_field.queryset)) self.assertEquals(ev_type_field.queryset.count(), 3)
def test_form_with_invalid_contact_email(self): form = SessionAdminForm(data=self.form_data({'contact_email': ''})) self.assertFalse(form.is_valid()) self.assertEquals(len(form.errors), 1) self.assertIn('contact_email', form.errors.keys()) self.assertIn(['This field is required.'], form.errors.values()) form = SessionAdminForm( data=self.form_data({'contact_email': 'test_email'})) self.assertFalse(form.is_valid()) self.assertEquals(len(form.errors), 1) self.assertIn('contact_email', form.errors.keys()) self.assertIn(['Enter a valid email address.'], form.errors.values())
def test_payment_time_allowed_required_advance_payment_required(self): form = SessionAdminForm(data=self.form_data( { 'advance_payment_required': False, 'payment_time_allowed': '', }, )) self.assertTrue(form.is_valid()) form = SessionAdminForm(data=self.form_data( { 'advance_payment_required': False, 'payment_time_allowed': 6, }, )) self.assertFalse(form.is_valid()) self.assertIn( 'To specify payment time allowed, please also tick "advance ' 'payment required"', str(form.errors['payment_time_allowed']))
def test_paypal_email_and_check_must_match(self): form = SessionAdminForm(data=self.form_data( { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' }, )) self.assertFalse(form.is_valid()) self.assertIn('Email addresses do not match', str(form.errors['paypal_email_check'])) self.assertIn('Email addresses do not match', str(form.errors['paypal_email'])) form = SessionAdminForm(data=self.form_data( { 'paypal_email': '*****@*****.**', 'paypal_email_check': '*****@*****.**' }, )) self.assertTrue(form.is_valid())
def test_fields_requiring_cost(self): form = SessionAdminForm(data=self.form_data( { 'cost': 0, 'advance_payment_required': True, 'payment_time_allowed': '', }, )) self.assertFalse(form.is_valid()) self.assertIn( 'The following fields require a cost greater than £0: ' 'advance payment required', str(form.errors['cost'])) form = SessionAdminForm(data=self.form_data( { 'cost': 0, 'payment_time_allowed': 6, 'advance_payment_required': True, }, )) self.assertFalse(form.is_valid()) self.assertIn( 'The following fields require a cost greater than £0: ' 'advance payment required, payment time allowed', str(form.errors['cost']))
def test_invalid_time(self): form = SessionAdminForm( data=self.form_data( {'time': '25:00'})) self.assertFalse(form.is_valid()) self.assertIn('Invalid time format', str(form.errors['time']))
def test_form_valid(self): form = SessionAdminForm(data=self.form_data()) self.assertTrue(form.is_valid())
def test_form_with_invalid_contact_person(self): form = SessionAdminForm(data=self.form_data({'contact_person': ''})) self.assertFalse(form.is_valid()) self.assertEquals(len(form.errors), 1) self.assertIn('contact_person', form.errors.keys()) self.assertIn(['This field is required.'], form.errors.values())
def test_paypal_email_check_required_if_paypal_email_changed(self): form = SessionAdminForm(data=self.form_data( {'paypal_email': '*****@*****.**'}), ) self.assertFalse(form.is_valid()) self.assertIn('Please reenter paypal email to confirm changes', str(form.errors['paypal_email_check']))
def test_name_placeholder(self): form = SessionAdminForm(data=self.form_data()) name_field = form.fields['name'] self.assertEquals(name_field.widget.attrs['placeholder'], 'Name of session e.g. Pole Level 1')
def test_invalid_time(self): form = SessionAdminForm(data=self.form_data({'time': '25:00'})) self.assertFalse(form.is_valid()) self.assertIn('Invalid time format', str(form.errors['time']))