Sha256: fb2d3d900a859ca39c87e4b132fd0b72916e20d16369cdd4ad1166d7805d32aa

Contents?: true

Size: 847 Bytes

Versions: 2

Compression:

Stored size: 847 Bytes

Contents

require 'spec_helper'

describe Axiom::Adapter::Arango::Visitor, '.build' do
  let(:object) { described_class }

  let(:relation) { mock('Axiom Node')               }
  let(:aql_node) { mock('AQL Node')                   }
  let(:context)  { mock('Context')                    }
  let(:build)    { mock('Visitor', :root => aql_node) }

  class Dummy
  end

  let(:dummy) { Dummy.new }

  let!(:test_visitor) do
    aql_node = self.aql_node
    Class.new(described_class) do
      handle(Dummy)
      define_method :root do
        aql_node
      end
    end
  end

  context 'with explicit context' do
    subject { object.build(dummy, context) }

    it { should eql(test_visitor.new(dummy, context)) }
  end

  context 'with implicit context' do
    subject { object.build(dummy) }

    it { should eql(test_visitor.new(dummy, nil)) }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
axiom-arango-adapter-0.0.2 spec/unit/axiom/adapter/arango/visitor/class_methods/build_spec.rb
axiom-arango-adapter-0.0.1 spec/unit/axiom/adapter/arango/visitor/class_methods/build_spec.rb