From 99c6720dbb5200978e3941ded0601a981f1b4c75 Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Mon, 6 Aug 2018 16:00:09 -0400 Subject: [PATCH 1/3] API Blueprint view object respects required: false for parameters now --- lib/rspec_api_documentation/views/api_blueprint_index.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rspec_api_documentation/views/api_blueprint_index.rb b/lib/rspec_api_documentation/views/api_blueprint_index.rb index ca6a05d9..b01c2183 100644 --- a/lib/rspec_api_documentation/views/api_blueprint_index.rb +++ b/lib/rspec_api_documentation/views/api_blueprint_index.rb @@ -74,7 +74,7 @@ def fields(property_name, examples) .uniq { |property| property[:name] } .map do |property| properties = [] - properties << "required" if property[:required] + properties << "optional" if !property[:required] properties << property[:type] if property[:type] if properties.count > 0 property[:properties_description] = properties.join(", ") From 365caf3c452788456421879557f88a254b1f87ef Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Mon, 6 Aug 2018 17:16:28 -0400 Subject: [PATCH 2/3] Properties are default optional but can be set to required. Fixes tests --- lib/rspec_api_documentation/views/api_blueprint_index.rb | 6 +++++- spec/views/api_blueprint_index_spec.rb | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/rspec_api_documentation/views/api_blueprint_index.rb b/lib/rspec_api_documentation/views/api_blueprint_index.rb index b01c2183..5a20ba88 100644 --- a/lib/rspec_api_documentation/views/api_blueprint_index.rb +++ b/lib/rspec_api_documentation/views/api_blueprint_index.rb @@ -74,7 +74,11 @@ def fields(property_name, examples) .uniq { |property| property[:name] } .map do |property| properties = [] - properties << "optional" if !property[:required] + if property[:required] == true + properties << 'required' + else + properties << 'optional' + end properties << property[:type] if property[:type] if properties.count > 0 property[:properties_description] = properties.join(", ") diff --git a/spec/views/api_blueprint_index_spec.rb b/spec/views/api_blueprint_index_spec.rb index 862016c2..1d526597 100644 --- a/spec/views/api_blueprint_index_spec.rb +++ b/spec/views/api_blueprint_index_spec.rb @@ -143,7 +143,7 @@ }, { name: "option", description: nil, - properties_description: nil + properties_description: 'optional' }] expect(post_route_with_optionals[:has_attributes?]).to eq false expect(post_route_with_optionals[:attributes]).to eq [] @@ -159,7 +159,7 @@ required: false, name: "description", description: nil, - properties_description: nil + properties_description: "optional" }] end end From 77126cdab5652993b7c45efc94eef6e2efe7c66a Mon Sep 17 00:00:00 2001 From: Brandon Mathis Date: Mon, 6 Aug 2018 18:21:08 -0400 Subject: [PATCH 3/3] Potential fix to failing apiblueprint cucumber features --- features/api_blueprint_documentation.feature | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/features/api_blueprint_documentation.feature b/features/api_blueprint_documentation.feature index 00867429..b78e19ef 100644 --- a/features/api_blueprint_documentation.feature +++ b/features/api_blueprint_documentation.feature @@ -354,12 +354,12 @@ Feature: Generate API Blueprint documentation from test examples + Parameters + id: 1 (required, string) - Order id - + optional + + optional (optional) + Attributes (object) + name: a name (required) - The order name - + amount - + description: a description (string) - The order description + + amount (optional) + + description: a description (optional, string) - The order description ### Deletes a specific order [DELETE]