Sha256: 3fca201a40df963239f172dd3f4a1b98ffdd0bf3ed90b4ff6aca546e15659ec0

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

require 'spec_helper'

describe ROM::Yesql::Gateway do
  include_context 'gateway setup'

  it 'loads queries from file system when :path is provided' do
    gateway = ROM::Yesql::Gateway.new(uri, path: path)

    expect(gateway.queries.keys).to match_array([:users, :tasks])
  end

  it 'combines queries from :queries option and loaded from provided :path' do
    queries = { reports: { true: 'SELECT 1' } }
    gateway = ROM::Yesql::Gateway.new(uri, path: path, queries: queries)

    expect(gateway.queries.keys).to match_array([:users, :tasks, :reports])
  end

  it 'loads queries from :queries option' do
    queries = { reports: { true: 'SELECT 1' } }
    gateway = ROM::Yesql::Gateway.new(uri, queries: queries)

    expect(gateway.queries).to eql(queries)
  end

  it 'loads empty queries hash when no options were provided' do
    gateway = ROM::Yesql::Gateway.new(uri)

    expect(gateway.queries).to eql({})
  end

  it 'freezes queries' do
    queries = { reports: { true: 'SELECT 1' } }
    gateway = ROM::Yesql::Gateway.new(uri, queries: queries)

    expect(gateway.queries).to be_frozen
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rom-yesql-0.3.0 spec/unit/rom/yesql/repository_spec.rb
rom-yesql-0.2.0 spec/unit/rom/yesql/repository_spec.rb
rom-yesql-0.1.1 spec/unit/rom/yesql/repository_spec.rb