Sha256: 5dc756222d7923834750c690029c022730bfc05e728ba41e582a456b0304fe6f

Contents?: true

Size: 870 Bytes

Versions: 50

Compression:

Stored size: 870 Bytes

Contents

RSpec.shared_examples_for 'MetasploitDataModels::Search::Visitor::Where#visit with equality operation' do
  let(:node) do
    node_class.new(
        :operator => operator,
        :value => value
    )
  end

  let(:operator) do
    Metasploit::Model::Search::Operator::Attribute.new(
        # any class that responds to arel_table
        :klass => Mdm::Host
    )
  end

  let(:value) do
    "value"
  end

  it 'should visit operation.operator with attribute_visitor' do
    expect(visitor.attribute_visitor).to receive(:visit).with(operator).and_call_original

    visit
  end

  it 'should call eq on Arel::Attributes::Attribute from attribute_visitor' do
    attribute = double('Visited Operator')
    allow(visitor.attribute_visitor).to receive(:visit).with(operator).and_return(attribute)

    expect(attribute).to receive(:eq).with(value)

    visit
  end
end

Version data entries

50 entries across 50 versions & 2 rubygems

Version Path
wg-metasploit_data_models-4.1.4.02 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-6.0.5 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-6.0.4 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-6.0.3 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-6.0.2 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-6.0.1 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-6.0.0 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.6 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.5 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.4 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.3 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.2 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.1 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-5.0.0 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-4.1.4 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-4.1.3 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-4.1.2 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-4.1.1 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-4.1.0 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
metasploit_data_models-4.0.2 spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb