Sha256: 40d11d8eeebe14b3b0c4c3677402964c45d2485373fc59c6c297ac079e83c505

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Acfs::Service do
  let(:srv_class) { Class.new(Acfs::Service) { identity :test } }
  let(:options) { {} }
  let(:service) { srv_class.new options }

  before do
    Acfs::Configuration.current.locate :test, ''
  end

  describe '#initialize' do
    let(:options) { {path: 'abc', key: 'value'} }

    it 'should set options' do
      expect(service.options).to eq(options)
    end
  end

  describe '#location' do
    let(:resource) { Class.new }
    before { allow(resource).to receive(:location_default_path, &proc {|_a, p| p }) }

    it 'should extract resource path name from given class' do
      expect(service.location(resource).to_s).to eq('/classes')
    end

    context 'with path options' do
      let(:options) { {path: 'abc'} }

      it 'should have custom resource path' do
        expect(service.location(resource).to_s).to eq('/abc')
      end
    end
  end

  describe '.base_url' do
    before do
      Acfs::Configuration.current.locate :test, 'http://abc.de/api/v1'
    end

    it 'should return configured URI for service' do
      expect(srv_class.base_url).to eq('http://abc.de/api/v1')
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
acfs-1.5.1 spec/acfs/service_spec.rb
acfs-1.5.0 spec/acfs/service_spec.rb
acfs-1.4.0 spec/acfs/service_spec.rb
acfs-1.3.4 spec/acfs/service_spec.rb