Esempio n. 1
0
class SimpleExcludeSearchQueryTestCase(TestCase):

    def setUp(self):
        self.kami = Kami()

    def test_should_pass_a_title_and_get_its_negation(self):
        query = self.kami.exclude(title='Mein Teil').raw_query
        self.assertEqual('NOT title: "Mein Teil"', query)

    def test_should_negate_and_concatenate_when_receive_two_fields(self):
        query = self.kami.exclude(title='Amerika', album='Reise, Reise').raw_query
        self.assertEqual('NOT album: "Reise, Reise" AND NOT title: "Amerika"', query)

    def test_should_support_calling_exclude_with_Q_objects_as_params(self):
        query = self.kami.exclude(Q(title='Mein Teil') | Q(artist='Rammstein')).raw_query
        self.assertEqual('NOT title: "Mein Teil" OR NOT artist: "Rammstein"', query)
Esempio n. 2
0
class ExcludeSearchQueryTestCase(TestCase):
    def setUp(self):
        self.kami = Kami()

    def test_should_pass_a_title_and_get_its_negation(self):
        query = self.kami.exclude(title="Mein Teil").raw_query
        self.assertEqual('NOT title: "Mein Teil"', query)

    def test_should_negate_and_concatenate_when_receive_two_fields(self):
        query = self.kami.exclude(title="Amerika", album="Reise, Reise").raw_query
        self.assertEqual('NOT album: "Reise, Reise" AND NOT title: "Amerika"', query)

    def test_should_raise_an_error_when_trying_to_call_exclude_with_Q_objects_as_params(self):
        with self.assertRaises(ValueError):
            self.kami.exclude(Q(title="Mein Teil") | Q(artist="Rammstein")).raw_query

    def test_should_support_pass_a_tuple_to_a_field_and_group_the_field_in_the_query(self):
        query = self.kami.exclude(title=("Mein Teil", "Amerika")).raw_query
        self.assertEqual('NOT title: ("Mein Teil" "Amerika")', query)