grape-swagger/spec/lib/operation_id_spec.rb

52 lines
1.6 KiB
Ruby

# frozen_string_literal: false
require 'spec_helper'
describe GrapeSwagger::DocMethods::OperationId do
subject { described_class }
specify { expect(subject).to eql GrapeSwagger::DocMethods::OperationId }
specify { expect(subject).to respond_to :build }
describe 'build' do
let(:route) { Grape::Router::Route.new(method, '/path', requirements: {}) }
describe 'GET' do
let(:method) { 'GET' }
specify { expect(subject.build(route)).to eql 'get' }
end
describe 'get' do
let(:method) { 'get' }
specify { expect(subject.build(route)).to eql 'get' }
end
describe ':get' do
let(:method) { :get }
specify { expect(subject.build(route)).to eql 'get' }
end
describe 'path given' do
let(:method) { 'GET' }
it 'GET with path foo' do
expect(subject.build(route, 'foo')).to eql 'getFoo'
end
it 'GET with path /foo' do
expect(subject.build(route, '/foo')).to eql 'getFoo'
end
it 'GET with path bar/foo' do
expect(subject.build(route, 'bar/foo')).to eql 'getBarFoo'
end
it 'GET with path bar/foo{id}' do
expect(subject.build(route, 'bar/foo{id}')).to eql 'getBarFooId'
end
it 'GET with path /bar_foo{id}' do
expect(subject.build(route, '/bar_foo{id}')).to eql 'getBarFooId'
end
it 'GET with path /bar-foo{id}' do
expect(subject.build(route, '/bar-foo{id}')).to eql 'getBarFooId'
end
it 'GET with path /simple_test/bar-foo{id}' do
expect(subject.build(route, '/simple_test/bar-foo{id}')).to eql 'getSimpleTestBarFooId'
end
end
end
end