def test_filter_queryset(self, genres): widget = TitleModelSelect2Widget(queryset=Genre.objects.all()) assert widget.filter_queryset(genres[0].title[:3]).exists() widget = TitleModelSelect2Widget(search_fields=['title__icontains'], queryset=Genre.objects.all()) qs = widget.filter_queryset(" ".join([genres[0].title[:3], genres[0].title[3:]])) assert qs.exists()
def test_filter_queryset__empty(self, genres): widget = TitleModelSelect2Widget(queryset=Genre.objects.all()) assert widget.filter_queryset(None, genres[0].title[:3]).exists() widget = TitleModelSelect2Widget(search_fields=["title__icontains"], queryset=Genre.objects.all()) qs = widget.filter_queryset(None, "") assert qs.exists()
def test_filter_queryset__contains(self, genres): genre = Genre.objects.create(title="Space Genre") widget = TitleModelSelect2Widget(queryset=Genre.objects.all()) assert widget.filter_queryset(None, genre.title).exists() widget = TitleModelSelect2Widget(search_fields=["title__contains"], queryset=Genre.objects.all()) qs = widget.filter_queryset(None, "Space Gen") assert qs.exists() qs = widget.filter_queryset(None, "NOT Gen") assert qs.exists(), "contains works even if only one part matches"
def test_filter_queryset__startswith(self, genres): genre = Genre.objects.create(title="Space Genre") widget = TitleModelSelect2Widget(queryset=Genre.objects.all()) assert widget.filter_queryset(None, genre.title).exists() widget = TitleModelSelect2Widget(search_fields=["title__istartswith"], queryset=Genre.objects.all()) qs = widget.filter_queryset(None, "Space Gen") assert qs.exists() qs = widget.filter_queryset(None, "Gen") assert not qs.exists()