From 6a6100db2c308e9226cdd5064f745764ad7ba089 Mon Sep 17 00:00:00 2001 From: Sampo Tawast <5328394+sirtawast@users.noreply.github.com> Date: Fri, 6 Sep 2024 14:14:37 +0300 Subject: [PATCH] chore(handler): use optimized serializer to list applications (hl-1432) (#3226) * chore: use optimized serializer to list applications * fix: remove old serializer's test lines --- .../applications/api/v1/application_views.py | 2 +- .../api/v1/serializers/application.py | 14 ++++++++++++++ .../tests/test_applications_api.py | 5 ----- .../benefit/calculator/api/v1/serializers.py | 19 +++++++++++-------- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/backend/benefit/applications/api/v1/application_views.py b/backend/benefit/applications/api/v1/application_views.py index 897ed30878..5290fd6c64 100755 --- a/backend/benefit/applications/api/v1/application_views.py +++ b/backend/benefit/applications/api/v1/application_views.py @@ -656,7 +656,7 @@ def simplified_application_list(self, request): status=ApplicationStatus.DRAFT, application_origin=ApplicationOrigin.APPLICANT, ) - serializer = self.serializer_class(qs, many=True, context=context) + serializer = HandlerApplicationListSerializer(qs, many=True, context=context) return Response( serializer.data, diff --git a/backend/benefit/applications/api/v1/serializers/application.py b/backend/benefit/applications/api/v1/serializers/application.py index d0d1b2831f..96884d7d62 100755 --- a/backend/benefit/applications/api/v1/serializers/application.py +++ b/backend/benefit/applications/api/v1/serializers/application.py @@ -1888,6 +1888,8 @@ class Meta: "additional_information_needed_by", "calculation", "alterations", + "archived", + "handled_by_ahjo_automation", ] read_only_fields = [ @@ -1906,8 +1908,12 @@ class Meta: "handler", "calculation", "alterations", + "archived", + "handled_by_ahjo_automation", ] + archived = serializers.BooleanField() + additional_information_needed_by = serializers.SerializerMethodField( "get_additional_information_needed_by" ) @@ -1925,6 +1931,14 @@ class Meta: ), ) + handled_by_ahjo_automation = serializers.BooleanField( + read_only=True, + required=False, + help_text=( + "True if the application has been handled by the Ahjo automation system" + ), + ) + application_number = serializers.IntegerField() status = serializers.ChoiceField( diff --git a/backend/benefit/applications/tests/test_applications_api.py b/backend/benefit/applications/tests/test_applications_api.py index 4a5610128b..1b41bbb889 100755 --- a/backend/benefit/applications/tests/test_applications_api.py +++ b/backend/benefit/applications/tests/test_applications_api.py @@ -253,14 +253,9 @@ def test_applications_simple_list_exclude_more( ): response = handler_api_client.get( reverse("v1:handler-application-simplified-application-list") - + f"?exclude_fields={','.join(exclude_fields)}" ) assert len(response.data) == 1 assert response.status_code == 200 - for key in exclude_fields: - assert key not in response.data[0] - for key in BaseApplicationViewSet.EXCLUDE_FIELDS_FROM_SIMPLE_LIST: - assert key not in response.data[0] def test_applications_simple_list_filter( diff --git a/backend/benefit/calculator/api/v1/serializers.py b/backend/benefit/calculator/api/v1/serializers.py index a9acc85374..d2ff13b2a6 100644 --- a/backend/benefit/calculator/api/v1/serializers.py +++ b/backend/benefit/calculator/api/v1/serializers.py @@ -357,11 +357,14 @@ class Meta: class CalculationSearchSerializer(serializers.ModelSerializer): class Meta: model = Calculation - fields = [ - "start_date", - "end_date", - ] - read_only_fields = [ - "start_date", - "end_date", - ] + fields = ["start_date", "end_date", "handler_details"] + read_only_fields = ["start_date", "end_date", "handler_details"] + + handler_details = UserSerializer( + help_text=( + "The handler object, with fields, currently assigned to this calculation" + " and application (read-only)" + ), + read_only=True, + source="handler", + )