def test_latest_reservations(self, utcnow):
        now = utcnow.return_value = datetime.utcnow().replace(tzinfo=pytz.utc)

        self.login_admin()

        resource = self.create_resource()
        sc = resource.scheduler()

        today = (datetime(2013, 9, 25, 8), datetime(2013, 9, 25, 10))
        tomorrow = (datetime(2013, 9, 26, 8), datetime(2013, 9, 26, 10))

        sc.allocate(today, quota=1)
        sc.allocate(tomorrow, quota=1)

        sc.approve_reservation(sc.reserve(reservation_email, today))
        sc.approve_reservation(sc.reserve(reservation_email, tomorrow))

        report = latest_reservations({resource.uuid(): resource})
        self.assertEqual(len(report), 2)

        utcnow.return_value = now + timedelta(days=30)
        report = latest_reservations({resource.uuid(): resource})
        self.assertEqual(len(report), 2)

        utcnow.return_value = now + timedelta(days=31)
        report = latest_reservations({resource.uuid(): resource})
        self.assertEqual(len(report), 0)
    def test_latest_reservations(self):

        self.login_admin()

        resource = self.create_resource()
        sc = resource.scheduler()

        today = (datetime(2013, 9, 25, 8), datetime(2013, 9, 25, 10))
        tomorrow = (datetime(2013, 9, 26, 8), datetime(2013, 9, 26, 10))

        sc.allocate(today, quota=1)
        sc.allocate(tomorrow, quota=1)

        sc.approve_reservations(sc.reserve(reservation_email, today))
        sc.approve_reservations(sc.reserve(reservation_email, tomorrow))

        now = datetime.utcnow().replace(tzinfo=pytz.utc)

        daterange = (now - timedelta(days=30), now)

        report = latest_reservations({resource.uuid(): resource}, daterange)
        self.assertEqual(len(report), 2)

        daterange = (now - timedelta(days=31), now - timedelta(seconds=60))

        report = latest_reservations({resource.uuid(): resource}, daterange)
        self.assertEqual(len(report), 0)
    def test_latest_reservations(self, utcnow):
        now = utcnow.return_value = datetime.utcnow().replace(tzinfo=pytz.utc)

        self.login_admin()

        resource = self.create_resource()
        sc = resource.scheduler()

        today = (datetime(2013, 9, 25, 8), datetime(2013, 9, 25, 10))
        tomorrow = (datetime(2013, 9, 26, 8), datetime(2013, 9, 26, 10))

        sc.allocate(today, quota=1)
        sc.allocate(tomorrow, quota=1)

        sc.approve_reservation(sc.reserve(reservation_email, today))
        sc.approve_reservation(sc.reserve(reservation_email, tomorrow))

        report = latest_reservations({resource.uuid(): resource})
        self.assertEqual(len(report), 2)

        utcnow.return_value = now + timedelta(days=30)
        report = latest_reservations({resource.uuid(): resource})
        self.assertEqual(len(report), 2)

        utcnow.return_value = now + timedelta(days=31)
        report = latest_reservations({resource.uuid(): resource})
        self.assertEqual(len(report), 0)
    def test_latest_reservations(self):

        self.login_admin()

        resource = self.create_resource()
        sc = resource.scheduler()

        today = (datetime(2013, 9, 25, 8), datetime(2013, 9, 25, 10))
        tomorrow = (datetime(2013, 9, 26, 8), datetime(2013, 9, 26, 10))

        sc.allocate(today, quota=1)
        sc.allocate(tomorrow, quota=1)

        sc.approve_reservations(sc.reserve(reservation_email, today))
        sc.approve_reservations(sc.reserve(reservation_email, tomorrow))

        now = datetime.utcnow().replace(tzinfo=pytz.utc)

        daterange = (now - timedelta(days=30), now)

        report = latest_reservations({resource.uuid(): resource}, daterange)
        self.assertEqual(len(report), 2)

        daterange = (now - timedelta(days=31), now - timedelta(seconds=60))

        report = latest_reservations({resource.uuid(): resource}, daterange)
        self.assertEqual(len(report), 0)