Sha256: 1e5ace8ce77478bd1a260762b7aee3ec1850de7db15735934024e09a05b7b601

Contents?: true

Size: 890 Bytes

Versions: 4

Compression:

Stored size: 890 Bytes

Contents

require 'spec_helper'

describe Acfs::Request::Callbacks do
  let(:callback) { lambda { |res| } }
  let(:request)  { Acfs::Request.new('fubar') }

  describe '#on_complete' do
    it 'should store a given callback' do
      request.on_complete &callback

      expect(request.callbacks).to have(1).item
      expect(request.callbacks[0]).to be == callback
    end

    it 'should store multiple callback' do
      request.on_complete { |res| "abc" }
      request.on_complete &callback

      expect(request.callbacks).to have(2).item
      expect(request.callbacks[1]).to be == callback
    end
  end

  describe '#complete!' do
    let(:response) { Acfs::Response.new(request) }

    it 'should trigger registered callbacks with given response' do
      callback.should_receive(:call).with(response)

      request.on_complete &callback
      request.complete! response
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
acfs-0.5.1 spec/acfs/request/callbacks_spec.rb
acfs-0.5.0 spec/acfs/request/callbacks_spec.rb
acfs-0.4.0 spec/acfs/request/callbacks_spec.rb
acfs-0.3.0 spec/acfs/request/callbacks_spec.rb