Sha256: 47780478850ab8643ee55526b69a3e90c2610980b93b83fa8a983a08e6e28e5f

Contents?: true

Size: 1.44 KB

Versions: 11

Compression:

Stored size: 1.44 KB

Contents

require 'spec_helper'

describe RSpec::Mocks::AnyInstance::MessageChains do
  let(:chains) { RSpec::Mocks::AnyInstance::MessageChains.new }
  let(:stub_chain) { RSpec::Mocks::AnyInstance::StubChain.new }
  let(:expectation_chain) { RSpec::Mocks::AnyInstance::ExpectationChain.new }

  it "knows if a method does not have an expectation set on it" do
    chains.add(:method_name, stub_chain)
    chains.has_expectation?(:method_name).should be_false
  end

  it "knows if a method has an expectation set on it" do
    chains.add(:method_name, stub_chain)
    chains.add(:method_name, expectation_chain)
    chains.has_expectation?(:method_name).should be_true
  end

  it "can remove all stub chains" do
    chains.add(:method_name, stub_chain)
    chains.add(:method_name, expectation_chain)
    chains.add(:method_name, another_stub_chain = RSpec::Mocks::AnyInstance::StubChain.new)

    chains.remove_stub_chains_for!(:method_name)
    chains[:method_name].should eq([expectation_chain])
  end
  
  context "creating stub chains" do
    it "understands how to add a stub chain for a method" do
      chains.add(:method_name, stub_chain)
      chains[:method_name].should eq([stub_chain])
    end

    it "allows multiple stub chains for a method" do
      chains.add(:method_name, stub_chain)
      chains.add(:method_name, another_stub_chain = RSpec::Mocks::AnyInstance::StubChain.new)
      chains[:method_name].should eq([stub_chain, another_stub_chain])
    end
  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
horseman-0.0.4 vendor/ruby/1.9.1/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
horseman-0.0.3 vendor/ruby/1.9.1/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
horseman-0.0.2 vendor/ruby/1.9.1/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
nutshell-crm-0.0.6.alpha vendor/bundle/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
nutshell-crm-0.0.5 vendor/bundle/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
nutshell-crm-0.0.4 vendor/bundle/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
nutshell-crm-0.0.3 vendor/bundle/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
nutshell-crm-0.0.2 vendor/bundle/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
nutshell-crm-0.0.1 vendor/bundle/gems/rspec-mocks-2.7.0/spec/rspec/mocks/any_instance/message_chains_spec.rb
rspec-mocks-2.7.0 spec/rspec/mocks/any_instance/message_chains_spec.rb
rspec-mocks-2.7.0.rc1 spec/rspec/mocks/any_instance/message_chains_spec.rb