Example #1
0
    def test_cannot_cancel_after_cancellation_period(self, mock_tz):
        """
        Test trying to cancel after cancellation period
        """
        mock_tz.now.return_value = datetime(2015, 2, 1, tzinfo=timezone.utc)
        event = mommy.make_recipe(
            'flex_bookings.future_EV',
            date=datetime(2015, 2, 2, tzinfo=timezone.utc),
            cancellation_period=48
        )
        booking = mommy.make_recipe(
            'flex_bookings.booking', event=event, user=self.user
        )

        url = reverse('flexbookings:delete_booking', args=[booking.id])
        session = _create_session()
        request = self.factory.get(url)
        request.session = session
        request.user = self.user
        messages = FallbackStorage(request)
        request._messages = messages
        view = BookingDeleteView.as_view()
        resp = view(request, pk=booking.id)

        cannot_cancel_url = reverse('flexbookings:cancellation_period_past',
                                kwargs={'event_slug': event.slug}
        )
        # test redirect to cannot cancel url
        self.assertEqual(302, resp.status_code)
        self.assertEqual(resp.url, cannot_cancel_url)
Example #2
0
 def _booking_delete(self, user, booking):
     url = reverse('flexbookings:delete_booking', args=[booking.id])
     session = _create_session()
     request = self.factory.delete(url)
     request.session = session
     request.user = user
     messages = FallbackStorage(request)
     request._messages = messages
     view = BookingDeleteView.as_view()
     return view(request, pk=booking.id)
Example #3
0
 def test_get_delete_booking_page(self):
     """
     Get the delete booking page with the event context
     """
     event = mommy.make_recipe('flex_bookings.future_EV')
     booking = mommy.make_recipe('flex_bookings.booking', event=event, user=self.user)
     url = reverse(
         'flexbookings:delete_booking', args=[booking.id]
     )
     session = _create_session()
     request = self.factory.get(url)
     request.session = session
     request.user = self.user
     messages = FallbackStorage(request)
     request._messages = messages
     view = BookingDeleteView.as_view()
     resp = view(request, pk=booking.id)
     self.assertEqual(resp.context_data['event'], event)
Example #4
0
urlpatterns = [
    url(r'^bookings/$', BookingListView.as_view(), name='bookings'),
    url(
        r'^bookings/payments-pending/$', payments_pending,
        name='payments_pending'
    ),
    url(r'^booking-history/$', BookingHistoryListView.as_view(),
        name='booking_history'),
    url(r'^block/(?P<pk>\d+)/update/$', update_block, name='update_block'),
    url(
       r'^booking/(?P<pk>\d+)/update/$', update_booking, name='update_booking'
    ),
    # url(r'^booking/update/(?P<pk>\d+)/cancelled/$',
    #     'flex_bookings.views.update_booking_cancelled',
    #     name='update_booking_cancelled'),
    url(r'^booking/cancel/(?P<pk>\d+)/$', BookingDeleteView.as_view(),
        name='delete_booking'),
    url(r'^events/(?P<event_slug>[\w-]+)/cancellation-period-past/$',
        cancellation_period_past, name='cancellation_period_past'),
    url(r'^booking/(?P<event_slug>[\w-]+)/duplicate/$',
        duplicate_booking, name='duplicate_booking'),
    url(r'^booking/(?P<event_slug>[\w-]+)/full/$', fully_booked,
        name='fully_booked'),
    url(r'^booking/(?P<event_slug>[\w-]+)/new/$', BookingCreateView.as_view(),
        name='book_event'),
    url(
        r'^workshops/(?P<slug>[\w-]+)/$', EventDetailView.as_view(),
        {'ev_type': 'event'}, name='event_detail'
    ),
    url(
        r'^workshops/$', EventListView.as_view(), {'ev_type': 'events'},