test_dates.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from datetime import timedelta
  2. from django.test import TestCase
  3. from django.utils import timezone
  4. from misago.readtracker.dates import is_date_tracked
  5. class MockUser(object):
  6. def __init__(self):
  7. self.joined_on = timezone.now()
  8. class ReadTrackerDatesTests(TestCase):
  9. def test_is_date_tracked(self):
  10. """is_date_tracked validates dates"""
  11. self.assertFalse(is_date_tracked(None, MockUser()))
  12. past_date = timezone.now() - timedelta(minutes=10)
  13. self.assertFalse(is_date_tracked(past_date, MockUser()))
  14. future_date = timezone.now() + timedelta(minutes=10)
  15. self.assertTrue(is_date_tracked(future_date, MockUser()))
  16. def test_is_date_tracked_with_category_cutoff(self):
  17. """is_date_tracked validates dates using category cutoff"""
  18. self.assertFalse(is_date_tracked(None, MockUser()))
  19. past_date = timezone.now() + timedelta(minutes=10)
  20. category_cutoff = timezone.now() + timedelta(minutes=20)
  21. self.assertFalse(
  22. is_date_tracked(past_date, MockUser(), category_cutoff))
  23. category_cutoff = timezone.now() - timedelta(minutes=20)
  24. self.assertTrue(
  25. is_date_tracked(past_date, MockUser(), category_cutoff))