Sha256: a31098c97bbec69895dbcd0a637cb67bb2734e61e9c186749dd57822be93acec

Contents?: true

Size: 1.55 KB

Versions: 13

Compression:

Stored size: 1.55 KB

Contents

require 'spec_helper'

describe Apipie::Generator::Swagger::OperationId do
  let(:path) { '/api' }
  let(:http_method) { :GET }
  let(:param) {}

  let(:operation_id) do
    described_class.new(path: path, http_method: http_method, param: param)
  end

  describe '#to_s' do
    subject { operation_id.to_s}

    it { is_expected.to eq('get_api') }

    context 'when path has variable' do
      let(:path) { '/api/users/:id' }

      it { is_expected.to eq("#{http_method.downcase}_api_users_id") }
    end

    context 'when param is given' do
      let(:param) { 'show' }

      it { is_expected.to eq("#{http_method.downcase}_api_param_show") }
    end
  end

  describe '.from' do
    subject { described_class.from(describable).to_s }

    context 'when an Apipie::MethodDescription::Api is given' do
      let(:describable) do
        Apipie::MethodDescription::Api.
          new(http_method, path, '', { from_routes: '' })
      end

      it { is_expected.to eq("#{http_method.downcase}_api") }
    end

    context 'when an Apipie::MethodDescription is given' do
      let(:dsl_data) do
        ActionController::Base.
          send(:_apipie_dsl_data_init).
          merge({
            api_args: [[http_method, path, "description", { :deprecated => true }]]
          })
      end

      let(:resource_desc) do
        Apipie::ResourceDescription.new(UsersController, "users")
      end

      let(:describable) do
        Apipie::MethodDescription.new(:show, resource_desc, dsl_data)
      end

      it { is_expected.to eq("#{http_method.downcase}_api") }
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
apipie-rails-1.4.2 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.4.1 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.4.0 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.3.0 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.2.3 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.2.2 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.2.1 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.2.0 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.1.0 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-1.0.0 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-0.9.4 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-0.9.3 spec/lib/apipie/generator/swagger/operation_id_spec.rb
apipie-rails-0.9.2 spec/lib/generator/swagger/operation_id_spec.rb