changeset 2721:36915dd4544d beta

Add test for NotReviewed validator
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 19 Aug 2012 01:17:39 +0200
parents 0f7355d3c196
children ef7520340c44
files rhodecode/tests/test_validators.py
diffstat 1 files changed, 22 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/tests/test_validators.py	Sun Aug 19 01:02:06 2012 +0200
+++ b/rhodecode/tests/test_validators.py	Sun Aug 19 01:17:39 2012 +0200
@@ -10,6 +10,9 @@
 from rhodecode.model.meta import Session
 from rhodecode.model.repos_group import ReposGroupModel
 from rhodecode.config.routing import ADMIN_PREFIX
+from rhodecode.model.db import ChangesetStatus
+from rhodecode.model.changeset_status import ChangesetStatusModel
+from rhodecode.model.comment import ChangesetCommentsModel
 
 
 class TestReposGroups(unittest.TestCase):
@@ -222,3 +225,22 @@
     def test_AttrLoginValidator(self):
         validator = v.AttrLoginValidator()
         self.assertRaises(formencode.Invalid, validator.to_python, 123)
+
+    def test_NotReviewedRevisions(self):
+        validator = v.NotReviewedRevisions()
+        rev = '0' * 40
+        # add status for a rev, that should throw an error because it is already
+        # reviewed
+        new_status = ChangesetStatus()
+        new_status.author = ChangesetStatusModel()._get_user(TEST_USER_ADMIN_LOGIN)
+        new_status.repo = ChangesetStatusModel()._get_repo(HG_REPO)
+        new_status.status = ChangesetStatus.STATUS_APPROVED
+        new_status.comment = None
+        new_status.revision = rev
+        Session().add(new_status)
+        Session().commit()
+        try:
+            self.assertRaises(formencode.Invalid, validator.to_python, [rev])
+        finally:
+            Session().delete(new_status)
+            Session().commit()