Exemplo n.º 1
0
    def test_form_for_cancelled_events(self):
        event = mommy.make_recipe('booking.future_PC',
                                  event_type=self.event_type)
        data = {
            'id':
            event.id,
            'name':
            event.name,
            'event_type':
            self.event_type.id,
            'date':
            event.date.astimezone(
                pytz.timezone('Europe/London')).strftime('%d %b %Y %H:%M'),
            'contact_email':
            event.contact_email,
            'contact_person':
            event.contact_person,
            'cancellation_period':
            event.cancellation_period,
            'location':
            event.location,
            'allow_booking_cancellation':
            True,
            'paypal_email':
            event.paypal_email,
        }
        form = EventAdminForm(data=data, instance=event, ev_type='CL')
        self.assertTrue(form.is_valid())
        # event is not cancelled, so cancelled checkbox is hidden
        cancelled_field = form.fields['cancelled']
        self.assertEqual(cancelled_field.widget.attrs, {
            'disabled': 'disabled',
            'id': 'cancelled_id',
            'class': 'hide'
        })
        self.assertEquals(
            cancelled_field.help_text,
            'To cancel, use the Cancel button on the class list page')

        event.cancelled = True
        event.save()
        data.update({'cancelled': True})
        form = EventAdminForm(data=data, instance=event, ev_type='CL')
        cancelled_field = form.fields['cancelled']
        self.assertTrue(form.is_valid())
        self.assertEqual(cancelled_field.widget.attrs, {
            'class': 'form-control regular-checkbox',
            'id': 'cancelled_id'
        })
        self.assertEquals(
            cancelled_field.help_text,
            'Untick to reopen class; note that this does not change any other '
            'attributes and does not reopen previously cancelled bookings.  '
            'Class will be reopened with both booking and payment CLOSED')
Exemplo n.º 2
0
 def test_form_valid(self):
     form = EventAdminForm(data=self.form_data(), ev_type='CL')
     self.assertTrue(form.is_valid())