From afe5f5ebc036c155242598a99a1da21e34337670 Mon Sep 17 00:00:00 2001 From: Wayne Witzel III Date: Mon, 9 May 2016 14:29:08 -0400 Subject: [PATCH] add count to labels --- awx/api/serializers.py | 3 +-- awx/main/tests/unit/api/test_serializers.py | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 1a919f22d3..62339f7b11 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -1685,7 +1685,7 @@ class JobOptionsSerializer(BaseSerializer): return res def _summary_field_labels(self, obj): - return [{'id': x.id, 'name': x.name} for x in obj.labels.all().order_by('name')[:10]] + return {'count': obj.labels.count(), 'results': [{'id': x.id, 'name': x.name} for x in obj.labels.all().order_by('name')[:10]]} def get_summary_fields(self, obj): res = super(JobOptionsSerializer, self).get_summary_fields(obj) @@ -2384,7 +2384,6 @@ class NotificationSerializer(BaseSerializer): )) return res - class LabelSerializer(BaseSerializer): class Meta: diff --git a/awx/main/tests/unit/api/test_serializers.py b/awx/main/tests/unit/api/test_serializers.py index 7857bb5e76..4f98892e8c 100644 --- a/awx/main/tests/unit/api/test_serializers.py +++ b/awx/main/tests/unit/api/test_serializers.py @@ -120,11 +120,11 @@ class TestJobTemplateSerializerGetSummaryFields(GetSummaryFieldsMixin): @mock.patch('awx.api.serializers.JobOptionsSerializer.get_related', lambda x,y: {}) class TestJobSerializerGetRelated(GetRelatedMixin): @pytest.mark.parametrize("related_resource_name", [ - 'job_events', - 'job_plays', - 'job_tasks', - 'relaunch', - 'labels', + 'job_events', + 'job_plays', + 'job_tasks', + 'relaunch', + 'labels', ]) def test_get_related(self, mocker, job, related_resource_name): self._test_get_related(JobSerializer, job, 'jobs', related_resource_name) @@ -150,8 +150,8 @@ class TestJobOptionsSerializerGetSummaryFields(GetSummaryFieldsMixin): summary_labels = serializer._summary_field_labels(job_template) job_template.labels.all.order_by.assert_called_with('name') - assert len(summary_labels) == 10 - assert summary_labels == [{'id': x.id, 'name': x.name} for x in labels[:10]] + assert len(summary_labels['results']) == 10 + assert summary_labels['results'] == [{'id': x.id, 'name': x.name} for x in labels[:10]] def test_labels_exists(self, mocker, job_template): self._test_get_summary_fields(JobOptionsSerializer, job_template, 'labels')