test_event_model.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. weight=0,
  16. started_on=datetime,
  17. starter_name='Tester',
  18. starter_slug='tester',
  19. last_post_on=datetime,
  20. last_poster_name='Tester',
  21. last_poster_slug='tester')
  22. self.thread.set_title("Test thread")
  23. self.thread.save()
  24. def test_is_event_valid(self):
  25. """event is_valid flag returns valid value"""
  26. event = Event.objects.create(
  27. forum=self.forum,
  28. thread=self.thread,
  29. author=self.user,
  30. message="Lorem ipsum",
  31. author_name=self.user.username,
  32. author_slug=self.user.slug)
  33. update_event_checksum(event)
  34. self.assertTrue(is_event_valid(event))
  35. self.assertTrue(event.is_valid)
  36. event.message = "Ipsum lorem"
  37. self.assertFalse(is_event_valid(event))
  38. self.assertFalse(event.is_valid)