Я использую пакет Django Django Auto Complete light
и вот как я его использую:
в urls.py Я использую:
path('buy-invoice-items-autocomplete/', views.ItemAutoComplete.as_view(), name='buy_invoice_items_autocomplete', ),
затем в views.py :
class ItemAutoComplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Item.objects.filter().order_by('id')
if self.q:
qs = qs.filter(Q(id__iexact=self.q) | Q(name__icontains=self.q))
return qs
И, наконец, я использую его в своем forms.py , чтобы позволить пользователю фильтровать его.
Теперь, когда я пытаюсь включить его в файл модульных тестов, я делаю это следующим образом:
class TestItemAutoComplete(TestCase):
def test_visit(self):
self.client.get('/buy-invoice-items-autocomplete/')
Использование пакета Coverage показывает, что мой тест не охватывает строки:
if self.q:
qs = qs.filter(Q(id__iexact=self.q) | Q(name__icontains=self.q))
Как пройти эту часть в классе и проверить ее?