Sha256: 5dcd3d5eeb345397b27afcaeb3d24ba385cbce1fdd7b5857d4b32a688a87b484
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
require 'spec_helper' require 'rom/lint/spec' describe ROM::SQL::Gateway do include_context 'users and tasks' let(:gateway) { rom.gateways[:default] } it_behaves_like 'a rom gateway' do let(:identifier) { :sql } let(:gateway) { ROM::SQL::Gateway } let(:uri) { 'postgres://localhost/rom' } end describe '#dataset?' do it 'returns true if a table exists' do expect(gateway.dataset?(:users)).to be(true) end it 'returns false if a table does not exist' do expect(gateway.dataset?(:not_here)).to be(false) end end describe 'using options' do it 'allows custom sequel-specific options' do migrator = double('migrator') expect(Sequel).to receive(:connect) .with(DB_URI, host: '127.0.0.1') .and_return(conn) gateway = ROM::SQL::Gateway.new(DB_URI, migrator: migrator, host: '127.0.0.1') expect(gateway.options).to eql(migrator: migrator) end it 'allows extensions' do extensions = [:pg_array, :pg_enum] connection = Sequel.connect uri expect(connection).to receive(:extension).with(:pg_array, :pg_enum) ROM::SQL::Gateway.new(connection, extensions: extensions) end end describe '#disconnect' do let(:gateway) { ROM::SQL::Gateway.new(uri) } it 'disconnects via sequel connection' do # FIXME: no idea how to test it in a different way # FIXME: we are leaking connection here expect(gateway.connection).to receive(:disconnect) gateway.disconnect end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-sql-0.6.1 | spec/unit/gateway_spec.rb |