diff --git a/app/models.py b/app/models.py index 2f4d7a5bb..d09f18e7b 100644 --- a/app/models.py +++ b/app/models.py @@ -2136,13 +2136,19 @@ class ServiceContactList(db.Model): ) ).count() + def get_has_jobs(self): + return bool(Job.query.filter( + Job.contact_list_id == self.id, + ).first()) + def serialize(self): created_at_in_bst = convert_utc_to_bst(self.created_at) contact_list = { "id": str(self.id), "original_file_name": self.original_file_name, "row_count": self.row_count, - "job_count": self.get_job_count(), + "recent_job_count": self.get_job_count(), + "has_jobs": self.get_has_jobs(), "template_type": self.template_type, "service_id": str(self.service_id), "created_by": self.created_by.name, diff --git a/tests/app/service/test_service_contact_list_rest.py b/tests/app/service/test_service_contact_list_rest.py index 3ce45755d..82a1fc1cb 100644 --- a/tests/app/service/test_service_contact_list_rest.py +++ b/tests/app/service/test_service_contact_list_rest.py @@ -69,7 +69,7 @@ def test_get_contact_list(admin_request, notify_db_session): assert len(response) == 1 assert response[0] == contact_list.serialize() - assert response[0]['job_count'] == 0 + assert response[0]['recent_job_count'] == 0 @pytest.mark.parametrize('days_of_email_retention, expected_job_count', ( @@ -107,10 +107,12 @@ def test_get_contact_list_counts_jobs( assert len(response) == 2 assert response[0]['id'] == str(contact_list_2.id) - assert response[0]['job_count'] == expected_job_count + assert response[0]['recent_job_count'] == expected_job_count + assert response[0]['has_jobs'] is True assert response[1]['id'] == str(contact_list_1.id) - assert response[1]['job_count'] == 0 + assert response[1]['recent_job_count'] == 0 + assert response[1]['has_jobs'] is False def test_get_contact_list_returns_for_service(admin_request, notify_db_session):