示例#1
0
    def test_now_eq(self):
        x1 = Mock(foo=Mock(bar=1, baz=2))
        x1._previous_version = Mock(foo=Mock(bar=0, baz=2))
        q = Q(foo__bar__now_eq=1)
        assert q(x1)

        x2 = Mock(foo=Mock(bar=1, baz=2))
        x2._previous_version = Mock(foo=Mock(bar=1, baz=2))
        assert not q(x2)

        x3 = Mock(state1='PUBLISHED', state2='PUBLISHED')
        x3._previous_version = Mock(
            state1='PENDING', state2='PUBLISHED',
        )
        assert Q(state1__now_eq='PUBLISHED')(x3)
        assert not Q(state2__now_eq='PUBLISHED')(x3)
示例#2
0
 def test_on_pre_save__ObjectDoesNotExist(self):
     self.dispatch.use_transitions = True
     instance = Mock(Name='instance')
     instance._previous_version = None
     sender = Mock(name='sender')
     sender.objects.get.side_effect = ObjectDoesNotExist()
     self.dispatch.on_pre_save(instance, sender, raw=False)
     sender.objects.get.assert_called_once_with(pk=instance.pk)
     assert instance._previous_version is None
示例#3
0
 def test_now_not_in(self):
     x1 = Mock(foo=Mock(
         bar='PUBLISHED',
         baz='PUBLISHED',
     ))
     x1._previous_version = Mock(foo=Mock(
         bar='PENDING',
         baz='PUBLISHED',
     ))
     assert Q(foo__bar__now_not_in={'PENDING', 'X', 'Y', 'Z'})(x1)
     assert not Q(foo__baz__now_not_in={'PENDING', 'X', 'Y', 'Z'})(x1)
示例#4
0
 def test_now_endswith(self):
     x1 = Mock(foo=Mock(
         bar='The quick brown fox',
         baz='The quick brown fox',
     ))
     x1._previous_version = Mock(foo=Mock(
         bar='The lazy red fox',
         baz='The lazy brown fox',
     ))
     assert Q(foo__bar__now_endswith='brown fox')(x1)
     assert not Q(foo__baz__now_endswith='brown fox')(x1)
示例#5
0
 def test_now_contains(self):
     x1 = Mock(foo=Mock(
         bar='The quick brown fox',
         baz='The quick brown fox'),
     )
     x1._previous_version = Mock(foo=Mock(
         bar='The quick red fox',
         baz='The quick brown fox',
     ))
     assert Q(foo__bar__now_contains='brown')(x1)
     assert not Q(foo__baz__now_contains='brown')(x1)
示例#6
0
 def test_now_is_not(self):
     x1 = Mock(foo=Mock(bar=30, baz=30))
     x1._previous_version = Mock(foo=Mock(bar=None, baz=10))
     assert Q(foo__bar__now_is_not=None)(x1)
     assert not Q(foo__baz__now_is_not=None)(x1)
示例#7
0
 def test_now_lte(self):
     x1 = Mock(foo=Mock(bar=22, baz=22))
     x1._previous_version = Mock(foo=Mock(bar=42, baz=12))
     assert Q(foo__bar__now_lte=22)(x1)
     assert not Q(foo__baz__now_lte=22)(x1)
示例#8
0
 def test_now_gt(self):
     x1 = Mock(foo=Mock(bar=22, baz=22))
     x1._previous_version = Mock(foo=Mock(bar=10, baz=42))
     assert Q(foo__bar__now_gt=20)(x1)
     assert not Q(foo__baz__now_gt=20)(x1)
示例#9
0
 def test_now_ne(self):
     x1 = Mock(foo=Mock(bar=1, baz=1))
     x1._previous_version = Mock(foo=Mock(bar=0, baz=2))
     assert Q(foo__bar__now_ne=2)(x1)
     assert not Q(foo__baz__now_ne=2)(x1)