Sha256: e62e3ada339b129a868335b81de96ce870d213430ae77750e01692fdc685275b

Contents?: true

Size: 1.3 KB

Versions: 4

Compression:

Stored size: 1.3 KB

Contents

require 'pathname'

dir = Pathname(__FILE__).dirname.expand_path

require "#{dir}sample_migration"
require "#{dir}../lib/spec/example/migration_example_group"

describe :create_people_table, type: :migration do
  before do
    run_migration
  end

  it 'creates a people table' do
    expect(repository(:default)).to have_table(:people)
  end

  it 'has an id column as the primary key' do
    expect(table(:people)).to have_column(:id)
    expect(table(:people).column(:id).type).to eq 'integer'
    # expect(table(:people).column(:id)).to be_primary_key
  end

  it 'has a name column as a string' do
    expect(table(:people)).to have_column(:name)
    expect(table(:people).column(:name).type).to eq 'character varying'
    expect(table(:people).column(:name)).to permit_null
  end

  it 'has a nullable age column as a int' do
    expect(table(:people)).to have_column(:age)
    expect(table(:people).column(:age).type).to eq 'integer'
    expect(table(:people).column(:age)).to permit_null
  end
end

describe :add_dob_to_people, type: :migration do
  before do
    run_migration
  end

  it 'adds a dob column as a timestamp' do
    expect(table(:people)).to have_column(:dob)
    expect(table(:people).column(:dob).type).to eq 'timestamp without time zone'
    expect(table(:people).column(:dob)).to permit_null
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sbf-dm-migrations-1.4.0 examples/sample_migration_spec.rb
sbf-dm-migrations-1.4.0.beta.1 examples/sample_migration_spec.rb
sbf-dm-migrations-1.3.0 examples/sample_migration_spec.rb
sbf-dm-migrations-1.3.0.beta examples/sample_migration_spec.rb