def test_entry_list_range_start_dt(self): "user_entry_list_range returns all entries within the given range starting at the specified start_dt" last_week = self.today - timedelta(days=7) elist = logic.user_entry_list_range(self.get_user(), start_dt=last_week) # has precisely the amount of entries we're expecting self.assertEqual( elist.count(), models.Entry.objects.filter( last_updated__lte=dt.max(last_week)).count())
def queryset_in_range(qs, dt_key, duration=30, start_dt=None): if not start_dt: start_dt = dt.today() if duration < 0 or duration > (365 * 2): raise ValueError("Duration must be greater than zero, less than 365 * 2") if not isinstance(start_dt, datetime): raise ValueError("Start datetime must be a datetime object.") key = '%s__range' % dt_key kwargs = {key: (start_dt - timedelta(days=duration), dt.max(start_dt))} return qs.filter(**kwargs)
def test_entry_list_range(self): "user_entry_list_range returns all entries within the given range" # all entries for the last 7 days elist = logic.user_entry_list_range(self.get_user(), 7) self.assertTrue(isinstance(elist, django.db.models.query.QuerySet)) # has precisely the number of entries we're expecting self.assertEqual( elist.count(), models.Entry.objects.filter( last_updated__range=(self.end_dt - timedelta(days=7), dt.max(self.end_dt))).count())
def setUp(self): # creates 14 entries over 14 days self.period = 14 today_sat = dt.today() + rd.relativedelta(weekday=rd.SA) self.start_dt = dt.min(today_sat - timedelta(days=self.period)) self.end_dt = dt.max(today_sat) cbit = self.custom_feed_url(self.period, self.start_dt, self.end_dt).lstrip('/') res = logic.pull_feed("http://localhost:8000/endtimes/%s" % cbit, user=self.get_user(), create_entries=True) self.feedobj = models.Feed.objects.get(pk=1) self.digestobj, created = dh.get_create_digest_feed( self.get_user(), self.feedobj, 'weekly', 'sat')
def daily(today=None): if not today: today = dt.today() return (dt.min(today), dt.max(today), today)
def test_daily_custom_value(self): yesterday = dt.today() - timedelta(days=1) res = dh.daily(yesterday) self.assertEqual(res[0], dt.min(yesterday)) self.assertEqual(res[1], dt.max(yesterday)) self.assertEqual(res[2], yesterday)
def test_daily_value(self): res = dh.daily() today = dt.today() self.assertEqual(res[0], dt.min(today)) self.assertEqual(res[1], dt.max(today)) self.assertEqual(res[2], today)