1+ import unittest
2+ import os
13from django .test import TestCase , Client
24from binder .json import jsonloads
35from django .contrib .auth .models import User
4- from django .contrib .postgres .operations import UnaccentExtension
56
67from ..testapp .models import Caretaker
78
89class TextFiltersTest (TestCase ):
910 def setUp (self ):
1011 super ().setUp ()
11- UnaccentExtension ()
1212 u = User (username = 'testuser' , is_active = True , is_superuser = True )
1313 u .set_password ('test' )
1414 u .save ()
@@ -37,14 +37,17 @@ def test_text_filter_exact_match(self):
3737 self .assertEqual (0 , len (result ['data' ]))
3838
3939
40- # [TODO] unaccent needs to be installed as an extension on postgres to make it work
41- # def test_text_filter_unaccent_chained_qualifier_match(self):
42- # response = self.client.get('/caretaker/', data={'.name:unaccent': 'Śtefan'})
40+ @unittest .skipIf (
41+ os .environ .get ('BINDER_TEST_MYSQL' , '0' ) != '0' ,
42+ "Only available with PostgreSQL"
43+ )
44+ def test_text_filter_unaccent_chained_qualifier_match (self ):
45+ response = self .client .get ('/caretaker/' , data = {'.name:unaccent' : 'Śtefan' })
4346
44- # self.assertEqual(response.status_code, 200)
47+ self .assertEqual (response .status_code , 200 )
4548
46- # result = jsonloads(response.content)
47- # self.assertEqual(0, len(result['data']))
49+ result = jsonloads (response .content )
50+ self .assertEqual (0 , len (result ['data' ]))
4851
4952 def test_text_filter_iexact (self ):
5053 response = self .client .get ('/caretaker/' , data = {'.name:iexact' : 'stefan' })
@@ -73,7 +76,7 @@ def test_text_filter_contains(self):
7376 result = jsonloads (response .content )
7477 print (result )
7578 self .assertEqual (0 , len (result ['data' ]))
76-
79+
7780 response = self .client .get ('/caretaker/' , data = {'.name:contains' : 'Stef' })
7881
7982 self .assertEqual (response .status_code , 200 )
@@ -169,7 +172,7 @@ def test_text_filter_istartswith(self):
169172 print (result )
170173 self .assertEqual (1 , len (result ['data' ]))
171174 self .assertEqual ('Stefan' , result ['data' ][0 ]['name' ])
172-
175+
173176 def test_text_filter_endswith (self ):
174177 response = self .client .get ('/caretaker/' , data = {'.name:endswith' : 'efa' })
175178
@@ -222,4 +225,4 @@ def test_text_filter_iendswith(self):
222225 print (result )
223226 self .assertEqual (1 , len (result ['data' ]))
224227 self .assertEqual ('Stefan' , result ['data' ][0 ]['name' ])
225-
228+
0 commit comments