From 9183c8acdde37a0a22dcddd0d97dbc8064a703f9 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Mon, 3 Jul 2023 14:12:39 +1000 Subject: [PATCH] Deal with bad SuppliedProduct data --- .../controllers/dfc_provider/supplied_products_controller.rb | 5 ++++- engines/dfc_provider/spec/requests/supplied_products_spec.rb | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/engines/dfc_provider/app/controllers/dfc_provider/supplied_products_controller.rb b/engines/dfc_provider/app/controllers/dfc_provider/supplied_products_controller.rb index e11e09293b..64473a925b 100644 --- a/engines/dfc_provider/app/controllers/dfc_provider/supplied_products_controller.rb +++ b/engines/dfc_provider/app/controllers/dfc_provider/supplied_products_controller.rb @@ -12,7 +12,10 @@ module DfcProvider end def create - supplied_product = import.first + supplied_product = import&.first + + return head :bad_request unless supplied_product + product = SuppliedProductBuilder.import(supplied_product) product.supplier = current_enterprise product.save! diff --git a/engines/dfc_provider/spec/requests/supplied_products_spec.rb b/engines/dfc_provider/spec/requests/supplied_products_spec.rb index d266f40143..689487bddb 100644 --- a/engines/dfc_provider/spec/requests/supplied_products_spec.rb +++ b/engines/dfc_provider/spec/requests/supplied_products_spec.rb @@ -63,6 +63,11 @@ describe "SuppliedProducts", type: :request, swagger_doc: "dfc-v1.7/swagger.yaml run_test! end + + describe "with empty request body" do + let(:supplied_product) { nil } + run_test! + end end response "200", "success" do