diff --git a/awx/api/serializers.py b/awx/api/serializers.py index fa685cb0ab..b86c4c5e4a 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -2976,9 +2976,12 @@ class JobTemplateMixin(object): ''' def _recent_jobs(self, obj): - job_mgr = obj.unifiedjob_unified_jobs.non_polymorphic().only('id', 'status', 'finished') + if hasattr(obj, 'workflow_jobs'): + job_mgr = obj.workflow_jobs + else: + job_mgr = obj.jobs return [{'id': x.id, 'status': x.status, 'finished': x.finished} - for x in job_mgr.order_by('-created')[:10]] + for x in job_mgr.all().order_by('-created')[:10]] def get_summary_fields(self, obj): d = super(JobTemplateMixin, self).get_summary_fields(obj) diff --git a/awx/main/tests/functional/api/test_job.py b/awx/main/tests/functional/api/test_job.py index 0e735eccb0..d635a35e0f 100644 --- a/awx/main/tests/functional/api/test_job.py +++ b/awx/main/tests/functional/api/test_job.py @@ -132,7 +132,7 @@ def test_slice_jt_recent_jobs(slice_job_factory, admin_user, get): expect=200 ) job_ids = [entry['id'] for entry in r.data['summary_fields']['recent_jobs']] - assert workflow_job.pk in job_ids + assert workflow_job.pk not in job_ids for node in workflow_job.workflow_nodes.all(): job = node.job assert job.pk in job_ids diff --git a/awx/main/tests/unit/api/serializers/test_job_template_serializers.py b/awx/main/tests/unit/api/serializers/test_job_template_serializers.py index 8719b9b1b9..a6f41debb9 100644 --- a/awx/main/tests/unit/api/serializers/test_job_template_serializers.py +++ b/awx/main/tests/unit/api/serializers/test_job_template_serializers.py @@ -71,19 +71,14 @@ class TestJobTemplateSerializerGetRelated(): class TestJobTemplateSerializerGetSummaryFields(): def test__recent_jobs(self, mocker, job_template, jobs): - job_template.unifiedjob_unified_jobs = mocker.MagicMock(**{ - 'non_polymorphic.return_value': mocker.MagicMock(**{ - 'only.return_value': mocker.MagicMock(**{ - 'order_by.return_value': jobs - }) - }) - }) + job_template.jobs.all = mocker.MagicMock(**{'order_by.return_value': jobs}) + job_template.jobs.all.return_value = job_template.jobs.all serializer = JobTemplateSerializer() recent_jobs = serializer._recent_jobs(job_template) - job_template.unifiedjob_unified_jobs.non_polymorphic.assert_called_once_with() - job_template.unifiedjob_unified_jobs.non_polymorphic().only().order_by.assert_called_once_with('-created') + job_template.jobs.all.assert_called_once_with() + job_template.jobs.all.order_by.assert_called_once_with('-created') assert len(recent_jobs) == 10 for x in jobs[:10]: assert recent_jobs == [{'id': x.id, 'status': x.status, 'finished': x.finished} for x in jobs[:10]]