Sha256: 1dfd6a5309d40357577aa46af801bcfaa6af0296a23caaf1549a072d187f9e9c

Contents?: true

Size: 979 Bytes

Versions: 4

Compression:

Stored size: 979 Bytes

Contents

# frozen_string_literal: true

require 'spec_helper'

describe '#847 route_param type is included in documentation' do
  let(:app) do
    Class.new(Grape::API) do
      resource :accounts do
        route_param :account_number, type: String do
          resource :records do
            route_param :id do
              get do
                { message: 'hello world' }
              end
            end
          end
        end
      end

      add_swagger_documentation
    end
  end
  let(:parameters) { subject['paths']['/accounts/{account_number}/records/{id}']['get']['parameters'] }

  subject do
    get '/swagger_doc'
    JSON.parse(last_response.body)
  end

  specify do
    account_number_param = parameters.find { |param| param['name'] == 'account_number' }
    expect(account_number_param['type']).to eq 'string'
    id_param = parameters.find { |param| param['name'] == 'id' }
    # Default is still integer
    expect(id_param['type']).to eq 'integer'
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
grape-swagger-1.6.1 spec/issues/847_route_param_options_spec.rb
grape-swagger-1.6.0 spec/issues/847_route_param_options_spec.rb
gitlab-grape-swagger-1.5.0 spec/issues/847_route_param_options_spec.rb
grape-swagger-1.5.0 spec/issues/847_route_param_options_spec.rb