Sha256: f76eb207d5e3b2c0badd61b34c65741a34220cde6950ad395802a9c444bae5fa

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

require 'spec_helper'

describe ROM::Yesql::Repository do
  include_context 'repository setup'

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

    expect(repository.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' } }
    repository = ROM::Yesql::Repository.new(uri, path: path, queries: queries)

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

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

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

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

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

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

    expect(repository.queries).to be_frozen
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rom-yesql-0.1.0 spec/unit/rom/yesql/repository_spec.rb
rom-yesql-0.0.2 spec/unit/rom/yesql/repository_spec.rb
rom-yesql-0.0.1 spec/unit/rom/yesql/repository_spec.rb