test_event_model.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from django.contrib.auth import get_user_model
  2. from django.test import TestCase
  3. from django.utils import timezone
  4. from misago.forums.models import Forum
  5. from misago.threads.checksums import is_event_valid, update_event_checksum
  6. from misago.threads.models import Thread, Event
  7. class EventModelTests(TestCase):
  8. def setUp(self):
  9. User = get_user_model()
  10. self.user = User.objects.create_user("Bob", "bob@bob.com", "Pass.123")
  11. datetime = timezone.now()
  12. self.forum = Forum.objects.filter(role="forum")[:1][0]
  13. self.thread = Thread(
  14. forum=self.forum,
  15. started_on=datetime,
  16. starter_name='Tester',
  17. starter_slug='tester',
  18. last_post_on=datetime,
  19. last_poster_name='Tester',
  20. last_poster_slug='tester')
  21. self.thread.set_title("Test thread")
  22. self.thread.save()
  23. def test_is_event_valid(self):
  24. """event is_valid flag returns valid value"""
  25. event = Event.objects.create(
  26. forum=self.forum,
  27. thread=self.thread,
  28. author=self.user,
  29. message="Lorem ipsum",
  30. author_name=self.user.username,
  31. author_slug=self.user.slug)
  32. update_event_checksum(event)
  33. self.assertTrue(is_event_valid(event))
  34. self.assertTrue(event.is_valid)
  35. event.message = "Ipsum lorem"
  36. self.assertFalse(is_event_valid(event))
  37. self.assertFalse(event.is_valid)