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)
def _post_response(self, form_data): url = reverse('website:contact') request = self.factory.post(url, form_data) store = _create_session() request.session = store messages = FallbackStorage(request) request._messages = messages return contact_view(request)
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)
def _get_response(self, user, event): url = reverse('flexbookings:book_event', kwargs={'event_slug': event.slug}) store = _create_session() request = self.factory.get(url, {'event': event.id}) request.session = store request.user = user messages = FallbackStorage(request) request._messages = messages view = BookingCreateView.as_view() return view(request, event_slug=event.slug)
def _post_booking_create(self, user, event, form_data={}): url = reverse('flexbookings:book_event', kwargs={'event_slug': event.slug}) store = _create_session() form_data['event'] = event.id request = self.factory.post(url, form_data) request.session = store request.user = user messages = FallbackStorage(request) request._messages = messages view = BookingCreateView.as_view() return view(request, event_slug=event.slug)
def _get_response(self, user=None, session_data={}, referer=None): url = reverse('website:contact') request = self.factory.get(url) if user: request.user = user if referer: request.META['HTTP_REFERER'] = referer store = _create_session() request.session = store for k, v in session_data.items(): request.session[k] = v return contact_view(request)
def test_fully_booked(self): """ Get the fully booked page with the event context """ event = mommy.make_recipe('flex_bookings.future_EV') url = reverse( 'flexbookings:fully_booked', kwargs={'event_slug': event.slug} ) session = _create_session() request = self.factory.get(url) request.session = session request.user = self.user messages = FallbackStorage(request) request._messages = messages resp = fully_booked(request, event.slug) self.assertIn(event.name, str(resp.content))
def test_cannot_cancel_after_cancellation_period(self): """ Get the cannot cancel page with the event context """ event = mommy.make_recipe('flex_bookings.future_EV') url = reverse( 'flexbookings:cancellation_period_past', kwargs={'event_slug': event.slug} ) session = _create_session() request = self.factory.get(url) request.session = session request.user = self.user messages = FallbackStorage(request) request._messages = messages resp = cancellation_period_past(request, event.slug) self.assertIn(event.name, str(resp.content))
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)
def _set_session(self, user, request): request.session = _create_session() request.user = user messages = FallbackStorage(request) request._messages = messages