From 8d12c7a6929e5ea9d30bf99416a37e246049588d Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Mon, 7 Mar 2022 11:05:43 +1100 Subject: [PATCH] Permit more customer attributes for update --- .../api/v1/customers_controller.rb | 5 +++- spec/requests/api/v1/customers_spec.rb | 23 ++++++++++++++++++- swagger/v1/swagger.yaml | 2 +- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/v1/customers_controller.rb b/app/controllers/api/v1/customers_controller.rb index 6c403ce2d4..bf3e035d1b 100644 --- a/app/controllers/api/v1/customers_controller.rb +++ b/app/controllers/api/v1/customers_controller.rb @@ -70,7 +70,10 @@ module Api end def customer_params - params.require(:customer).permit(:email, :enterprise_id) + params.require(:customer).permit( + :email, :enterprise_id, + :code, :first_name, :last_name, + ) end def editable_enterprises diff --git a/spec/requests/api/v1/customers_spec.rb b/spec/requests/api/v1/customers_spec.rb index 2167d1c953..d4d7a235b5 100644 --- a/spec/requests/api/v1/customers_spec.rb +++ b/spec/requests/api/v1/customers_spec.rb @@ -105,7 +105,7 @@ describe "Customers", type: :request do required: CustomerSchema.required_attributes } - response "201", "Customer created" do + response "201", "Minimal customer created" do param(:customer) do { email: "test@example.com", @@ -121,6 +121,27 @@ describe "Customers", type: :request do end end + response "201", "Example customer created" do + param(:customer) do + CustomerSchema.writable_attributes.transform_values do |attribute| + attribute[:example] + end.merge( + enterprise_id: enterprise1.id, + ) + end + schema "$ref": "#/components/schemas/resources/customer" + + run_test! do + expect(json_response[:data][:attributes]).to include( + first_name: "Alice", + last_name: "Springs", + code: "BUYER1", + email: "alice@example.com", + enterprise_id: enterprise1.id, + ) + end + end + response "422", "Unpermitted parameter" do param(:customer) do { diff --git a/swagger/v1/swagger.yaml b/swagger/v1/swagger.yaml index 207673ebf0..03365ac195 100644 --- a/swagger/v1/swagger.yaml +++ b/swagger/v1/swagger.yaml @@ -244,7 +244,7 @@ paths: parameters: [] responses: '201': - description: Customer created + description: Example customer created content: application/json: schema: