From: Stephen Finucane Date: Wed, 12 Sep 2018 15:46:56 +0000 (-0600) Subject: REST: Only list checks for the given patch X-Git-Tag: v2.1.1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f26930218d3c2dcfcec2ca61475056d47ff32c83;p=thirdparty%2Fpatchwork.git REST: Only list checks for the given patch This is either a regression or it never worked. In any case, fix it and add a test to ensure it doesn't happen again. Signed-off-by: Stephen Finucane Reviewed-by: Veronika Kabatova Closes: #203 (cherry picked from commit e80216a96eac6b1f1ed10aa9effd1d3120f2c3a1) --- diff --git a/patchwork/api/check.py b/patchwork/api/check.py index 8753c7de..1cfa5375 100644 --- a/patchwork/api/check.py +++ b/patchwork/api/check.py @@ -83,7 +83,8 @@ class CheckMixin(object): filter_class = CheckFilterSet def get_queryset(self): - return Check.objects.prefetch_related('patch', 'user') + patch_id = self.kwargs['patch_id'] + return Check.objects.prefetch_related('user').filter(patch=patch_id) class CheckListCreate(CheckMixin, ListCreateAPIView): diff --git a/patchwork/tests/api/test_check.py b/patchwork/tests/api/test_check.py index 43181af3..57d5b775 100644 --- a/patchwork/tests/api/test_check.py +++ b/patchwork/tests/api/test_check.py @@ -54,9 +54,9 @@ class TestCheckAPI(APITestCase): self.user = create_maintainer(project) self.patch = create_patch(project=project) - def _create_check(self): + def _create_check(self, patch=None): values = { - 'patch': self.patch, + 'patch': patch if patch else self.patch, 'user': self.user, } return create_check(**values) @@ -75,6 +75,7 @@ class TestCheckAPI(APITestCase): self.assertEqual(0, len(resp.data)) check_obj = self._create_check() + self._create_check(create_patch()) # second, unrelated patch resp = self.client.get(self.api_url()) self.assertEqual(status.HTTP_200_OK, resp.status_code)