diff options
author | Tomasz Zielinski <tomasz.zielinski@pyconsultant.eu> | 2011-11-24 23:15:40 +0100 |
---|---|---|
committer | Tomasz Zielinski <tomasz.zielinski@pyconsultant.eu> | 2011-11-24 23:15:40 +0100 |
commit | c032a9f997ad9f807b60912934323e8d0b12e1af (patch) | |
tree | 2a8115a2c4d4737a24754c016422f11cc10a62e5 | |
parent | 350d8b9aa7849a86fcbd97667703df834184d511 (diff) | |
download | askbot-c032a9f997ad9f807b60912934323e8d0b12e1af.tar.gz askbot-c032a9f997ad9f807b60912934323e8d0b12e1af.tar.bz2 askbot-c032a9f997ad9f807b60912934323e8d0b12e1af.zip |
Added the missing PostRevision test
-rw-r--r-- | askbot/models/post.py | 4 | ||||
-rw-r--r-- | askbot/tests/__init__.py | 2 | ||||
-rw-r--r-- | askbot/tests/misc_tests.py | 10 |
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() |