Sha256: 5d24370be54fd9843349790b0ad16cf19f45c34387d21a75760095e832d3e295

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'

RSpec.describe ResourceKit::Resource do
  describe '.resources' do
    subject(:resource) { Class.new(described_class) }

    it 'returns a resource collection' do
      expect(resource.resources).to be_kind_of(ResourceKit::ResourceCollection)
    end

    it 'yields a resource collection' do
      expect { |b| resource.resources(&b) }.to yield_with_args(instance_of(ResourceKit::ResourceCollection))
    end

    context 'action methods' do
      class DropletResource < described_class
        resources do
          action :find
          action :all
        end
      end

      subject(:droplet_resource) { DropletResource.new(double) }

      it "defines the action method" do
        expect(droplet_resource).to respond_to(:find)
      end
    end
  end

  describe '#initialize' do
    it 'initializes with a connection' do
      faraday = Faraday.new(url: 'http://lol.com')
      instance = ResourceKit::Resource.new(faraday)

      expect(instance.connection).to be(faraday)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
resource_kit-0.0.3 spec/lib/resource_kit/resource_spec.rb
resource_kit-0.0.1 spec/lib/resource_kit/resource_spec.rb