summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Zielinski <tomasz.zielinski@pyconsultant.eu>2011-11-24 23:15:40 +0100
committerTomasz Zielinski <tomasz.zielinski@pyconsultant.eu>2011-11-24 23:15:40 +0100
commitc032a9f997ad9f807b60912934323e8d0b12e1af (patch)
tree2a8115a2c4d4737a24754c016422f11cc10a62e5
parent350d8b9aa7849a86fcbd97667703df834184d511 (diff)
downloadaskbot-c032a9f997ad9f807b60912934323e8d0b12e1af.tar.gz
askbot-c032a9f997ad9f807b60912934323e8d0b12e1af.tar.bz2
askbot-c032a9f997ad9f807b60912934323e8d0b12e1af.zip
Added the missing PostRevision test
-rw-r--r--askbot/models/post.py4
-rw-r--r--askbot/tests/__init__.py2
-rw-r--r--askbot/tests/misc_tests.py10
3 files changed, 11 insertions, 5 deletions
diff --git a/askbot/models/post.py b/askbot/models/post.py
index 16352228..d5c0c6df 100644
--- a/askbot/models/post.py
+++ b/askbot/models/post.py
@@ -8,13 +8,9 @@ from askbot.utils.html import sanitize_html
# pass
class PostRevisionManager(models.Manager):
- # TODO: Make sure this manager /with the "blocked" .create() method/ is used also as a `related` manager:
- # - https://docs.djangoproject.com/en/1.3/topics/db/managers/#controlling-automatic-manager-types
- # - use_for_related_fields
def create(self, *kargs, **kwargs):
raise NotImplementedError # Prevent accidental creation of PostRevision instance without `revision_type` set
-
def create_question_revision(self, *kargs, **kwargs):
kwargs['revision_type'] = self.model.QUESTION_REVISION
return super(PostRevisionManager, self).create(*kargs, **kwargs)
diff --git a/askbot/tests/__init__.py b/askbot/tests/__init__.py
index ca74d696..49546e8e 100644
--- a/askbot/tests/__init__.py
+++ b/askbot/tests/__init__.py
@@ -12,5 +12,5 @@ from askbot.tests.form_tests import *
from askbot.tests.follow_tests import *
from askbot.tests.templatefilter_tests import *
from askbot.tests.markup_test import *
-#from askbot.tests.misc_tests import *
+from askbot.tests.misc_tests import *
from askbot.tests.post_model_tests import *
diff --git a/askbot/tests/misc_tests.py b/askbot/tests/misc_tests.py
index ddf16360..f8ecded9 100644
--- a/askbot/tests/misc_tests.py
+++ b/askbot/tests/misc_tests.py
@@ -7,6 +7,7 @@ from askbot import models
from askbot.models.badges import award_badges_signal
from askbot.views.users import get_related_object_type_name
+from askbot.models.post import PostRevision
class MiscTests(AskbotTestCase):
@@ -17,6 +18,7 @@ class MiscTests(AskbotTestCase):
def test_get_related_object_type_name_for_question(self):
question = self.post_question(user=self.u1)
+ import ipdb; ipdb.set_trace()
ct = ContentType.objects.get_for_model(question)
self.assertEqual('question', get_related_object_type_name(ct.id, question.id))
@@ -48,3 +50,11 @@ class MiscTests(AskbotTestCase):
comment = self.post_comment(user=self.u1, parent_post=question)
ct = ContentType.objects.get_for_model(comment)
self.assertIsNone(get_related_object_type_name(ct.id, comment.id))
+
+ def test_proper_PostRevision_manager_is_used(self):
+ "Makes sure that both normal and related managers for PostRevision don't implement .create() method"
+ question = self.post_question(user=self.u1)
+ with self.assertRaises(NotImplementedError):
+ question.revisions.create()
+ with self.assertRaises(NotImplementedError):
+ PostRevision.objects.create()