Sha256: 0bee720d634411c608eabf01287f9b8b71834c5dd5af0f3729d8b4016d19513e

Contents?: true

Size: 969 Bytes

Versions: 14

Compression:

Stored size: 969 Bytes

Contents

shared_examples_for 'defining a method double for sequential invocations of that method using #ordered/#then' do
  include DoubleDefinitionCreatorHelpers

  it "works" do
    object = build_object_with_possible_methods(some_method: -> {}) do |subject|
      double_creator = double_definition_creator_for(subject)
      double_creator.some_method { 'value 1' }.twice.ordered
      double_creator.some_method { 'value 2' }.once.ordered
    end

    expect(object.some_method).to eq 'value 1'
    expect(object.some_method).to eq 'value 1'
    expect(object.some_method).to eq 'value 2'
  end

  it "works when using #then instead of #ordered" do
    object = build_object_with_possible_methods(some_method: -> {}) do |subject|
      double_definition_creator_for(subject).
        some_method { 'value 1' }.once.then.
        some_method { 'value 2' }.once
    end

    expect(object.some_method).to eq 'value 1'
    expect(object.some_method).to eq 'value 2'
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rr-3.1.1 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.1.0 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.9 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.8 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.7 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.6 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.5 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.4 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.3 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.2 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.1 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-3.0.0 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-1.2.1 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb
rr-1.2.0 spec/suites/rspec_2/support/shared_examples/double_definition_creators/sequential_invocations.rb