From 50d2436b7d3df50a0f90f275fffb1eeb2f90a9ab Mon Sep 17 00:00:00 2001 From: Edie Pearce Date: Thu, 30 Sep 2021 13:48:30 +0100 Subject: [PATCH 1/2] Save report_summary on GoodOnApplication --- api/goods/serializers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/api/goods/serializers.py b/api/goods/serializers.py index bdcef7196..3e5f31661 100644 --- a/api/goods/serializers.py +++ b/api/goods/serializers.py @@ -825,7 +825,6 @@ def update(self, instance, validated_data): super().update(instance, validated_data) instance.good.status = GoodStatus.VERIFIED instance.good.control_list_entries.set(validated_data["control_list_entries"]) - instance.good.report_summary = validated_data["report_summary"] instance.good.save() instance.good.flags.remove(SystemFlags.GOOD_NOT_YET_VERIFIED_ID) return instance From aef50d2ef6c21423d45762e4193214b336cd9450 Mon Sep 17 00:00:00 2001 From: Edie Pearce Date: Fri, 1 Oct 2021 11:05:42 +0100 Subject: [PATCH 2/2] Add test --- api/goods/tests/test_control_codes.py | 41 ++++++++++++++++++++------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/api/goods/tests/test_control_codes.py b/api/goods/tests/test_control_codes.py index 1a1e5dd95..167c3ac20 100644 --- a/api/goods/tests/test_control_codes.py +++ b/api/goods/tests/test_control_codes.py @@ -57,7 +57,7 @@ def test_verify_multiple_goods(self): data = { "objects": [self.good_1.pk, self.good_2.pk], "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "control_list_entries": ["ML1a"], "is_good_controlled": True, } @@ -71,6 +71,27 @@ def test_verify_multiple_goods(self): self.assertEqual(verified_good_1.control_list_entries.get().rating, "ML1a") self.assertEqual(verified_good_2.control_list_entries.get().rating, "ML1a") + def test_report_summary_saved_goodonapplication(self): + """ + Make sure report_summary is saved to the GoodOnApplication + """ + + data = { + "objects": [self.good_1.pk], + "control_list_entries": ["ML1a"], + "is_precedent": False, + "is_good_controlled": True, + "end_use_control": [], + "report_summary": self.report_summary.text, + "comment": "Lorem ipsum", + } + + response = self.client.post(self.url, data, **self.gov_headers) + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.good_on_application_1.refresh_from_db() + + self.assertEqual(self.good_on_application_1.report_summary, self.report_summary.text) + def test_verify_multiple_goods_NLR(self): """ Post multiple goods to the endpoint, and check that the control code is not set if good is not controlled @@ -78,7 +99,7 @@ def test_verify_multiple_goods_NLR(self): data = { "objects": [self.good_1.pk, self.good_2.pk], "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "control_list_entries": ["ML1a"], "is_good_controlled": False, } @@ -96,7 +117,7 @@ def test_invalid_good_pk(self): data = { "objects": [self.team.pk, self.good_1.pk], "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "is_good_controlled": False, "control_list_entries": ["ML1b"], } @@ -141,7 +162,7 @@ def test_invalid_good_pk(self): def test_is_precedent_is_set(self, input, expected_is_precedent): defaults = { "objects": [self.good_1.pk], - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, } data = {**defaults, **input} @@ -160,7 +181,7 @@ def test_standard_invalid_control_list_entries(self): data = { "objects": [self.good_1.pk, self.good_2.pk], "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "is_good_controlled": True, "control_list_entries": ["invalid"], } @@ -179,7 +200,7 @@ def test_standard_controlled_good_empty_control_list_entries(self): data = { "objects": [self.good_1.pk, self.good_2.pk], "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "is_good_controlled": True, "control_list_entries": [], } @@ -217,7 +238,7 @@ def test_cannot_set_control_list_entries_when_application_in_terminal_state(self data = { "objects": self.good_1.pk, "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "control_list_entries": "ML1a", "is_good_controlled": "yes", } @@ -256,7 +277,7 @@ def test_verify_single_good(self): data = { "objects": self.good_1.pk, "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "is_good_controlled": True, "control_list_entries": ["ML1a"], } @@ -280,7 +301,7 @@ def test_verify_only_change_comment_doesnt_remove_flags(self): data = { "objects": self.good_1.pk, "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "control_list_entries": ["ML1a"], "is_good_controlled": True, } @@ -302,7 +323,7 @@ def test_invalid_control_list_entries(self): data = { "objects": [self.good_1.pk, self.good_2.pk], "comment": "I Am Easy to Find", - "report_summary": self.report_summary.pk, + "report_summary": self.report_summary.text, "control_list_entries": ["invalid"], "is_good_controlled": "True", }