Sha256: b1453d97eb8e71a4f8f4bdbe871081f99fcb48004feb8c56775b397e3aea4e7b
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
require 'spec_helper' describe ROM::Setup do describe '#finalize' do context 'with an adapter that supports schema inferring' do it 'builds relation from inferred schema' do adapter = double('adapter').as_null_object repo = double('repo', adapter: adapter).as_null_object dataset = double('dataset') allow(repo).to receive(:schema).and_return([ [:users, dataset, [:name, :email]] ]) setup = ROM::Setup.new(memory: repo) env = setup.finalize users = env.relations.users expect(users.dataset).to be(dataset) expect(users.header).to eql([:name, :email]) end end end describe '#method_missing' do it 'returns a repository if it is defined' do repo = double('repo') setup = ROM::Setup.new(repo: repo) expect(setup.repo).to be(repo) end it 'raises error if repo is not defined' do setup = ROM::Setup.new({}) expect { setup.not_here }.to raise_error(NoMethodError, /not_here/) end end describe '#[]' do it 'returns a repository if it is defined' do repo = double('repo') setup = ROM::Setup.new(repo: repo) expect(setup[:repo]).to be(repo) end it 'raises error if repo is not defined' do setup = ROM::Setup.new({}) expect { setup[:not_here] }.to raise_error(KeyError, /not_here/) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-0.5.0 | spec/unit/rom/setup_spec.rb |