def test_check_no_handler_on_transition(self): post = PostFactory() self.assertEqual(DRAFT, post.status) exception = None try: post.status = DUMMY post.save() except ValidationError as validation_exception: exception = validation_exception self.assertIsNone(exception)
def test_check_allowed_transitions(self): post = PostFactory() self.assertEqual(DRAFT, post.status) exception = None try: post.status = PUBLISHED post.save() except ValidationError as validation_exception: exception = validation_exception self.assertIsNone(exception)
def test_check_status_change_on_transition(self): post = PostFactory() self.assertEqual(DRAFT, post.status) exception = None try: post.status = AUTO post.save() except ValidationError as validation_exception: exception = validation_exception self.assertIsNone(exception) self.assertEqual(AUTO, post.status, "status doesn't change to published")
def test_check_forbidden_transitions(self): post = PostFactory(status=PUBLISHED) self.assertEqual(PUBLISHED, post.status) exception = None try: post.status = DRAFT post.save() except ValidationError as validation_exception: exception = validation_exception self.assertIsNotNone(exception) self.assertIsInstance(exception, ValidationError)