Sha256: 4a4d819e153db0b30b9662b6f22010e67fef2f9d9ada1a78768cde9f22928018

Contents?: true

Size: 771 Bytes

Versions: 1

Compression:

Stored size: 771 Bytes

Contents

shared_examples 'a method that adds a redirection rule' do |expected_class|
  it_behaves_like 'a method that adds a rule', :redirection, expected_class
end

shared_examples 'a method that adds a skip rule' do |expected_class|
  it_behaves_like 'a method that adds a rule', :skip, expected_class
end

shared_examples 'a method that adds a rule' do |rule, expected_class|
  let(:reverse_rule) { rule == :skip ? :redirection : :skip }
  it do
    expect do
      call_method
    end.to change { subject.public_send("#{rule}_blocks") }
  end

  it do
    call_method
    expect(subject.public_send("#{rule}_blocks").last).to be_a(expected_class)
  end

  it do
    expect do
      call_method
    end.not_to change { subject.public_send("#{reverse_rule}_blocks") }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tarquinn-0.2.0 spec/support/shared_examples/config.rb