Sha256: a92f165b2b964bf824fa813324f3b86b5a29fbed404fcceead09e8e7d35f2b11

Contents?: true

Size: 801 Bytes

Versions: 1

Compression:

Stored size: 801 Bytes

Contents

require 'spec_helper'

describe Response, '.build' do
  subject { object.build(&block) }

  let(:object) { described_class }

  context 'without arguments and block' do
    let(:block)   { nil }

    its(:valid?)  { should be(false)               }
    its(:headers) { should eql({})                 }
    its(:status)  { should be(Response::Undefined) }
    its(:body)    { should be(Response::Undefined) }
  end

  context 'with block' do
    let(:yields) { [] }
    let(:value) { double('Value') }

    let(:block) do
      lambda do |response|
        yields << response
        value
      end
    end

    it 'should return value from block' do
      should be(value)
    end

    it 'should call block with response' do
      subject
      yields.should eql([Response.build])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
response-0.0.5 spec/unit/response/class_methods/build_spec.rb