def test_delete(self): now = timezone.now() two_weeks_ago = now - relativedelta(weeks=2) series = PickupDateSeries(store=self.store, rule=str(self.recurrence), start_date=two_weeks_ago) series.save() series.update_pickup_dates(start=lambda: two_weeks_ago) pickup_dates = series.pickup_dates.all() past_date_count = pickup_dates.filter(date__lt=now).count() self.assertGreater(pickup_dates.count(), 2) series.delete() self.assertEqual(PickupDate.objects.filter(date__gte=now).count(), 0) self.assertEqual( PickupDate.objects.filter(date__lt=now).count(), past_date_count)
def test_daylight_saving_time_to_winter(self): start_date = self.store.group.timezone.localize(datetime.now().replace( 2016, 10, 22, 15, 0, 0, 0)) series = PickupDateSeries(store=self.store, rule=str(self.recurrence), start_date=start_date) series.save() series.update_pickup_dates( start=lambda: timezone.now().replace(2016, 10, 22, 4, 40, 13)) expected_dates = [] for month, day in [(10, 22), (10, 29), (11, 5), (11, 12)]: expected_dates.append( self.store.group.timezone.localize( datetime(2016, month, day, 15, 0))) for actual_date, expected_date in zip( PickupDate.objects.filter(series=series), expected_dates): self.assertEqual(actual_date.date, expected_date)