Sha256: e1a0a91210f0efcccf63d55db48de5f92e63499074358fac2f64ee4168d10ef6

Contents?: true

Size: 1.66 KB

Versions: 14

Compression:

Stored size: 1.66 KB

Contents

shared_context 'using 1 of 2 ways to define a mock with an argument expectation with a never-called qualifier' do
  include DoubleDefinitionCreatorHelpers

  it "works as long as the invocation never occurs" do
    build_object_with_possible_methods(some_method: lambda {|arg| }) do |subject|
      double_creator = double_definition_creator_for(subject)
      define_double_with_argument_expectation(double_creator, :some_method, 1).never
    end
  end

  it "works as long as the invocation never occurs even if other invocations occur" do
    object = build_object_with_possible_methods(some_method: lambda {|arg| }) do |subject|
      double_creator = double_definition_creator_for(subject)
      define_double_with_argument_expectation(double_creator, :some_method, 1).never
    end
    stub(object).some_method.with_any_args
    object.some_method(2)
  end

  specify "TimesCalledError is raised as soon as the invocation occurs" do
    object = build_object_with_possible_methods(some_method: lambda {|arg| }) do |subject|
      double_creator = double_definition_creator_for(subject)
      define_double_with_argument_expectation(double_creator, :some_method, 1).never
    end
    expect { object.some_method(1) }.to raise_error(RR::Errors::TimesCalledError)
    RR.reset
  end

  specify "nothing happens upon being reset" do
    object = build_object_with_possible_methods(some_method: lambda {|arg| }) do |subject|
      double_creator = double_definition_creator_for(subject)
      define_double_with_argument_expectation(double_creator, :some_method, 1).never
    end
    RR.reset
    expect {
      call_possible_method_on(object, :some_method, 1)
    }.not_to raise_error
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

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