def test_get_label(self): autocomplete = LabeledAutocomplete() label = autocomplete.get_label(None) self.assertTrue(callable(label)) self.assertEquals(u'test', label(u'test')) autocomplete = LabeledAutocomplete(label='test') label = autocomplete.get_label(None) self.assertEquals(u'test', label)
def test_prepare_results(self): autocomplete = LabeledAutocomplete(label=2) self.assertEquals(2, autocomplete.get_label(None)) self.assertRaises( ImproperlyConfigured, autocomplete.prepare_results, User.objects.all() )
def test_get_response(self): request = request_factory.get("/", {'q': 'an'}) autocomplete = LabeledAutocomplete(model=User, search_fields=['username']) autocomplete.request = request results = autocomplete.get_result_queryset() response = autocomplete.get_response(results) qs = User.objects.filter(username__startswith='an') compare = simplejson.dumps(list((u.id, unicode(u)) for u in qs)) self.assertEquals('text/javascript', response['Content-Type']) self.assertEquals(compare, response.content) request = request_factory.get("/", {'q': 'an'}) autocomplete = LabeledAutocomplete( model=User, search_fields=['username'], limit=1 ) autocomplete.request = request results = autocomplete.get_result_queryset() response = autocomplete.get_response(results) qs = User.objects.filter(username__startswith='an')[:1] compare = simplejson.dumps(list((u.id, unicode(u)) for u in qs)) self.assertEquals('text/javascript', response['Content-Type']) self.assertEquals(compare, response.content)
def test_prepare_results(self): request = request_factory.get("/", {'q': 'an'}) autocomplete = LabeledAutocomplete(model=User, search_fields=['username']) autocomplete.request = request results = autocomplete.get_result_queryset() prepared = autocomplete.prepare_results(results) qs = User.objects.filter(username__startswith='an') self.assertEquals([(u.id, unicode(u)) for u in qs], prepared) autocomplete = LabeledAutocomplete( model=User, search_fields=['username'], label='username' ) autocomplete.request = request results = autocomplete.get_result_queryset() prepared = autocomplete.prepare_results(results) qs = User.objects.filter(username__startswith='an') self.assertEquals([(u.id, u.username) for u in qs], prepared) autocomplete = LabeledAutocomplete( model=User, search_fields=['username'], label='username', key_field='username' ) autocomplete.request = request results = autocomplete.get_result_queryset() prepared = autocomplete.prepare_results(results) qs = User.objects.filter(username__startswith='an') self.assertEquals([(u.username, u.username) for u in qs], prepared)
def test_get_key_field(self): autocomplete = LabeledAutocomplete(model=User) self.assertEquals('id', autocomplete.get_key_field(User.objects.all())) autocomplete = LabeledAutocomplete(key_field='id') self.assertEquals('id', autocomplete.get_key_field(None))