From 4c2585a891dbe7622f22ed2eb955efbaa0f28afe Mon Sep 17 00:00:00 2001 From: Anler Hp Date: Tue, 29 Jul 2014 12:59:58 +0200 Subject: [PATCH] Task #396 - Filter issues by subject --- taiga/projects/issues/api.py | 4 +++- tests/integration/test_issues.py | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 tests/integration/test_issues.py diff --git a/taiga/projects/issues/api.py b/taiga/projects/issues/api.py index c2b605af..dd9a392c 100644 --- a/taiga/projects/issues/api.py +++ b/taiga/projects/issues/api.py @@ -108,10 +108,12 @@ class IssueViewSet(OCCResourceMixin, HistoryResourceMixin, WatchedResourceMixin, list_serializer_class = serializers.IssueSerializer permission_classes = (permissions.IssuePermission, ) - filter_backends = (filters.CanViewIssuesFilterBackend, IssuesFilter, IssuesOrdering) + filter_backends = (filters.CanViewIssuesFilterBackend, filters.SearchFieldFilter, + IssuesFilter, IssuesOrdering) retrieve_exclude_filters = (IssuesFilter,) filter_fields = ("project",) + search_fields = ("subject",) order_by_fields = ("severity", "status", "priority", diff --git a/tests/integration/test_issues.py b/tests/integration/test_issues.py new file mode 100644 index 00000000..20a3993a --- /dev/null +++ b/tests/integration/test_issues.py @@ -0,0 +1,20 @@ +import pytest + +from django.core.urlresolvers import reverse + +from .. import factories as f + +pytestmark = pytest.mark.django_db + + +def test_api_filter_by_subject(client): + f.create_issue() + issue = f.create_issue(subject="some random subject") + url = reverse("issues-list") + "?subject=some subject" + + client.login(issue.owner) + response = client.get(url) + number_of_issues = len(response.data) + + assert response.status_code == 200 + assert number_of_issues == 1, number_of_issues