Exemplo n.º 1
0
    def test_transfer_data_aggregates_newer_ratings_daily(self):
        now = datetime.now()
        Rating.objects.create(amount=1, time=now, **self.kw)
        Rating.objects.create(amount=2, time=now, **self.kw)

        yesterday = now - timedelta(days=1)
        Rating.objects.create(amount=4, time=yesterday, **self.kw)
        Rating.objects.create(amount=8, time=yesterday, **self.kw)

        transfer_data()
        expected = [
                (yesterday.date(),  2,  12  ),
                (now.date(),        2,  3   ),
            ]

        self.assert_equals(0, Rating.objects.count())
        self.assert_equals(2, Agg.objects.count())
        self.assert_equals(1, TotalRate.objects.count())
        self.assert_equals(expected, [(a.time, a.people, a.amount) for a in Agg.objects.order_by('time')])
Exemplo n.º 2
0
    def test_transfer_data_aggregates_newer_ratings_daily(self):
        old = date.today() - timedelta(days=70)
        Rating.objects.create(amount=1, time=old, **self.kw)
        Rating.objects.create(amount=2, time=old, **self.kw)

        older = old - timedelta(days=40)
        Rating.objects.create(amount=4, time=older, **self.kw)
        Rating.objects.create(amount=8, time=older, **self.kw)

        transfer_data()
        expected = [
                (older.replace(day=1),  2,  12  ),
                (old.replace(day=1),    2,  3   ),
            ]

        self.assert_equals(0, Rating.objects.count())
        self.assert_equals(2, Agg.objects.count())
        self.assert_equals(1, TotalRate.objects.count())
        self.assert_equals(expected, [(a.time, a.people, a.amount) for a in Agg.objects.order_by('time')])
Exemplo n.º 3
0
 def handle(self, **options):
     transfer_data()