コード例 #1
0
    def test_delete(self):
        now = timezone.now()
        two_weeks_ago = now - relativedelta(weeks=2)
        with freeze_time(two_weeks_ago, tick=True):
            series = PickupDateSeriesFactory(place=self.place, start_date=two_weeks_ago)

        pickup_dates = series.pickup_dates.all()
        past_date_count = pickup_dates.filter(date__startswith__lt=now).count()
        self.assertGreater(pickup_dates.count(), 2)
        series.delete()
        upcoming_pickups = PickupDate.objects.filter(date__startswith__gte=now, is_disabled=False)
        self.assertEqual(upcoming_pickups.count(), 0, upcoming_pickups)
        self.assertEqual(PickupDate.objects.filter(date__startswith__lt=now).count(), past_date_count)
コード例 #2
0
class PickupDateSeriesReceiverTests(WSTestCase):
    def setUp(self):
        super().setUp()
        self.member = UserFactory()
        self.group = GroupFactory(members=[self.member])
        self.place = PlaceFactory(group=self.group)

        # Create far in the future to generate no pickup dates
        # They would lead to interfering websocket messages
        self.series = PickupDateSeriesFactory(place=self.place,
                                              start_date=timezone.now() +
                                              relativedelta(months=2))

    def test_receive_series_changes(self):
        self.client = self.connect_as(self.member)

        date = faker.future_datetime(
            end_date='+30d', tzinfo=timezone.utc) + relativedelta(months=2)
        self.series.start_date = date
        self.series.save()

        response = self.client.messages_by_topic.get('pickups:series')[0]
        self.assertEqual(parse(response['payload']['start_date']), date)

        self.assertEqual(len(self.client.messages), 1)

    def test_receive_series_delete(self):
        self.client = self.connect_as(self.member)

        id = self.series.id
        self.series.delete()

        response = self.client.messages_by_topic.get(
            'pickups:series_deleted')[0]
        self.assertEqual(response['payload']['id'], id)

        self.assertEqual(len(self.client.messages), 1)