From 42b6ecbf319e23b70ee9c973e93553e8208445f3 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 23 Jan 2025 12:41:12 +1100 Subject: [PATCH] Move rswag specifc config to rswag helper --- spec/base_spec_helper.rb | 23 ----------------------- spec/swagger_helper.rb | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/spec/base_spec_helper.rb b/spec/base_spec_helper.rb index f8b326003a..f8c30b3f07 100644 --- a/spec/base_spec_helper.rb +++ b/spec/base_spec_helper.rb @@ -177,29 +177,6 @@ RSpec.configure do |config| ActionController::Base.perform_caching = caching end - # Take example responses from Rswag specs for API documentation. - # https://github.com/rswag/rswag#enable-auto-generation-examples-from-responses - config.after(:each, :rswag_autodoc) do |example| - # Categories and group operations of the same API endpoint. - example.metadata[:operation][:tags] ||= [self.class.top_level_description] - - next if response&.body.blank? - - # Include response as example in the documentation. - example.metadata[:response][:content] ||= {} - example.metadata[:response][:content].deep_merge!( - { - "application/json" => { - examples: { - test_example: { - value: JSON.parse(response.body, symbolize_names: true) - } - } - } - } - ) - end - # Show javascript errors in test output with `js_debug: true` config.after(:each, :js_debug) do errors = page.driver.browser.manage.logs.get(:browser) diff --git a/spec/swagger_helper.rb b/spec/swagger_helper.rb index b3a3676cbc..1e44212f11 100644 --- a/spec/swagger_helper.rb +++ b/spec/swagger_helper.rb @@ -71,6 +71,29 @@ RSpec.configure do |config| # the key, this may want to be changed to avoid putting yaml in json files. # Defaults to json. Accepts ':json' and ':yaml'. config.openapi_format = :yaml + + # Take example responses from Rswag specs for API documentation. + # https://github.com/rswag/rswag#enable-auto-generation-examples-from-responses + config.after(:each, :rswag_autodoc) do |example| + # Categories and group operations of the same API endpoint. + example.metadata[:operation][:tags] ||= [self.class.top_level_description] + + next if response&.body.blank? + + # Include response as example in the documentation. + example.metadata[:response][:content] ||= {} + example.metadata[:response][:content].deep_merge!( + { + "application/json" => { + examples: { + test_example: { + value: JSON.parse(response.body, symbolize_names: true) + } + } + } + } + ) + end end module RswagExtension