diff --git a/taiga/projects/issues/api.py b/taiga/projects/issues/api.py index f16d234f..fb94912d 100644 --- a/taiga/projects/issues/api.py +++ b/taiga/projects/issues/api.py @@ -64,7 +64,8 @@ class IssueViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixin, W filters.ModifiedDateFilter, filters.FinishedDateFilter, filters.OrderByFilterMixin) - filter_fields = ("project", + filter_fields = ("milestone", + "project", "project__slug", "status__is_closed") order_by_fields = ("type", diff --git a/tests/integration/test_issues.py b/tests/integration/test_issues.py index 64190da7..124eb9e1 100644 --- a/tests/integration/test_issues.py +++ b/tests/integration/test_issues.py @@ -755,3 +755,37 @@ def test_api_create_in_bulk_with_status_milestone(client): assert response.status_code == 200 assert response.data[0]["status"] == project.default_issue_status.id assert response.data[0]["milestone"] == milestone.id + + +def test_get_issues(client): + user = f.UserFactory.create() + project = f.ProjectFactory.create(owner=user) + f.MembershipFactory.create(project=project, user=user, is_admin=True) + + f.IssueFactory.create(project=project) + url = reverse("issues-list") + + client.login(project.owner) + + response = client.get(url) + + assert response.status_code == 200 + assert response.data[0].get("milestone") + + +def test_get_issues_in_milestone(client): + user = f.UserFactory.create() + project = f.ProjectFactory.create(owner=user) + f.MembershipFactory.create(project=project, user=user, is_admin=True) + project.save() + milestone = f.MilestoneFactory(project=project) + f.IssueFactory.create(project=project, milestone=milestone) + f.IssueFactory.create(project=project) + url = reverse("issues-list") + "?milestone={}".format(milestone.id) + + client.login(project.owner) + response = client.get(url) + + assert response.status_code == 200 + assert len(response.data) == 1 + assert response.data[0].get("milestone") == milestone.id