Sha256: 2b6b3ed225d710ca9b7c6900e2ccfaf8c11eb52389023600d47e523a51cabecf

Contents?: true

Size: 927 Bytes

Versions: 4

Compression:

Stored size: 927 Bytes

Contents

RSpec.describe 'ROM::SQL::Schema::SqliteInferrer', :sqlite do
  include_context 'database setup'

  before do
    conn.drop_table?(:test_inferrence)

    conn.create_table :test_inferrence do
      tinyint :tiny
      int8 :big
      column :dummy, nil
    end
  end

  after do
    conn.drop_table?(:test_inferrence)
  end

  let(:dataset) { :test_inferrence }

  let(:schema) { container.relations[dataset].schema }

  before do
    dataset = self.dataset
    conf.relation(dataset) do
      schema(dataset, infer: true)
    end
  end

  it 'can infer attributes for dataset' do
    source = container.relations[:test_inferrence].name

    expect(schema.to_h).to eql(
      tiny: ROM::SQL::Types::Int.optional.meta(name: :tiny, source: source),
      big: ROM::SQL::Types::Int.optional.meta(name: :big, source: source),
      dummy: ROM::SQL::Types::SQLite::Object.optional.meta(name: :dummy, source: source)
    )
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rom-sql-1.0.1 spec/integration/schema/inferrer/sqlite_spec.rb
rom-sql-1.0.0 spec/integration/schema/inferrer/sqlite_spec.rb
rom-sql-1.0.0.rc2 spec/integration/schema/inferrer/sqlite_spec.rb
rom-sql-1.0.0.rc1 spec/integration/schema/inferrer/sqlite_spec.rb