예제 #1
0
    def test_known_transition_should_succeed(self):
        self.assertTrue(can_proceed(self.model.publish))
        self.model.publish()
        self.assertEqual(self.model.state, 'published')

        self.assertTrue(can_proceed(self.model.hide))
        self.model.hide()
        self.assertEqual(self.model.state, 'hidden')
예제 #2
0
    def test_known_transition_should_succeed(self):
        self.assertTrue(can_proceed(self.model.publish))
        self.model.publish()
        self.assertEqual(self.model.state, 'published')

        self.assertTrue(can_proceed(self.model.hide))
        self.model.hide()
        self.assertEqual(self.model.state, 'hidden')
예제 #3
0
 def test_star_shortcut_succeed(self):
     self.assertTrue(can_proceed(self.model.moderate))
     self.model.moderate()
     self.assertEqual(self.model.state, 'moderated')
예제 #4
0
 def test_state_non_changed_after_fail(self):
     self.assertRaises(Exception, self.model.remove)
     self.assertTrue(can_proceed(self.model.remove))
     self.assertEqual(self.model.state, 'new')
예제 #5
0
 def test_unknow_transition_fails(self):
     self.assertFalse(can_proceed(self.model.hide))
     self.assertRaises(InvalidTransition, self.model.hide)
예제 #6
0
 def test_unmet_condition(self):
     self.model.publish()
     self.assertEqual(self.model.state, 'published')
     self.assertFalse(can_proceed(self.model.destroy))
     self.model.destroy()
     self.assertEqual(self.model.state, 'published')
예제 #7
0
 def test_star_shortcut_succeed(self):
     self.assertTrue(can_proceed(self.model.moderate))
     self.model.moderate()
     self.assertEqual(self.model.state, 'moderated')
예제 #8
0
 def test_state_non_changed_after_fail(self):
     self.assertRaises(Exception, self.model.remove)
     self.assertTrue(can_proceed(self.model.remove))
     self.assertEqual(self.model.state, 'new')
예제 #9
0
 def test_unknow_transition_fails(self):
     self.assertFalse(can_proceed(self.model.hide))
     self.assertRaises(NotImplementedError, self.model.hide)
예제 #10
0
 def test_unmet_condition(self):
     self.model.publish()
     self.assertEqual(self.model.state, 'published')
     self.assertFalse(can_proceed(self.model.destroy))
     self.model.destroy()
     self.assertEqual(self.model.state, 'published')
예제 #11
0
 def test_unknow_transition_fails(self):
   self.assertFalse(can_proceed(self.model.hide))
   self.assertRaises(InvalidTransition, self.model.hide)