add count to labels

This commit is contained in:
Wayne Witzel III 2016-05-09 14:29:08 -04:00
parent b6f8d12119
commit afe5f5ebc0
2 changed files with 8 additions and 9 deletions

View File

@ -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:

View File

@ -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')