def setUp(self): # creates 21 objects over 7 days (~3 objects per digest per day) today_sat = dt.today() + rd.relativedelta(weekday=rd.SA) start_dt, end_dt = today_sat - timedelta(days=7), today_sat cbit = self.custom_feed_url(21, start_dt, end_dt).lstrip('/') logic.pull_feed("http://localhost:8000/endtimes/%s" % cbit, user=self.get_user(), create_entries=True) feedobj = models.Feed.objects.get(pk=1) digestobj, created = dh.get_create_digest_feed(self.get_user(), feedobj, 'daily') dh.create_prev_digest_entries(digestobj, today=end_dt, until=start_dt)
def test_generated_entries_distribution(self): "14 entries over 7 days should create between 1 and 2 entries per day for each digest entry" obj_list = dh.create_prev_digest_entries(self.digestobj, today=self.end_dt) for o in obj_list: self.assertTrue(o.entries.all().count() <= 2) self.assertTrue(o.entries.all().count() >= 1)
def test_create_all_previous_daily_entries_since(self): "create all previous DAILY digest entries since the last given date" midweek = self.start_dt + timedelta(days=4) obj_list = dh.create_prev_digest_entries(self.digestobj, today=self.end_dt, until=midweek) self.assertEqual(len(obj_list), 3) # 4 days forward leaves 3 days remaining
def test_prev_generated_entry_count(self): "A weekly digest created exactly 14 days ago should yield 1 *previous* models.DigestEntry object" obj_list = dh.create_prev_digest_entries(self.digestobj, today=self.end_dt, until=self.start_dt) self.assertEqual(len(obj_list), 1)
def test_generated_entry_count(self): "A daily digest created 7 days ago should yield 7 digest entries" obj_list = dh.create_prev_digest_entries(self.digestobj, today=self.end_dt, until=self.start_dt) self.assertEqual(len(obj_list), 7)
def test_generated_entries(self): "All generated entries should be of type model.DigestEntry" obj_list = dh.create_prev_digest_entries(self.digestobj, today=self.end_dt) for o in obj_list: self.assertEqual(o.digest_feed, self.digestobj)