Sha256: 45640d41e46d630c4c172b791ef5a740c973386f09b11e282d40b656f806fdf4

Contents?: true

Size: 1.55 KB

Versions: 18

Compression:

Stored size: 1.55 KB

Contents

shared_examples_for "a baza columns driver" do
  let(:driver) { constant.new }
  let(:db) { driver.db }
  let(:test_table) do
    db.tables.create(
      "test",
      columns: [
        {name: "id", type: :int, autoincr: true, primarykey: true},
        {name: "text", type: :varchar}
      ]
    )
    db.tables[:test]
  end

  before do
    driver.before
  end

  after do
    driver.after
  end

  it "renames columns for renamed tables" do
    test_table.columns # Load up columns to make them set table-name.

    test_table.rename("test2")
    test_table.column(:text).change(name: "text2")

    table = db.tables[:test2]
    column = table.column(:text2)
    expect(column.table.name).to eq "test2"
  end

  it "creates columns right" do
    col_id = test_table.column(:id)
    expect(col_id.type).to eq :int
    expect(col_id.primarykey?).to eq true
    expect(col_id.autoincr?).to eq true
    expect(col_id.default).to eq nil

    col_text = test_table.column(:text)
    expect(col_text.type).to eq :varchar
    expect(col_text.primarykey?).to eq false
    expect(col_text.autoincr?).to eq false
    expect(col_text.default).to eq nil
  end

  it "is able to change columns" do
    col_text = test_table.column(:text)
    col_text.change(name: "text2", type: :int, default: 5)

    expect(col_text.type).to eq :int
    expect(col_text.default).to eq "5"
    expect(col_text.name).to eq "text2"
  end

  it "is able to drop a column" do
    test_table.column(:text).drop

    expect do
      test_table.column(:text)
    end.to raise_error(Baza::Errors::ColumnNotFound)
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
baza-0.0.38 spec/support/driver_columns_collection.rb
baza-0.0.37 spec/support/driver_columns_collection.rb
baza-0.0.36 spec/support/driver_columns_collection.rb
baza-0.0.35 spec/support/driver_columns_collection.rb
baza-0.0.34 spec/support/driver_columns_collection.rb
baza-0.0.33 spec/support/driver_columns_collection.rb
baza-0.0.32 spec/support/driver_columns_collection.rb
baza-0.0.31 spec/support/driver_columns_collection.rb
baza-0.0.30 spec/support/driver_columns_collection.rb
baza-0.0.29 spec/support/driver_columns_collection.rb
baza-0.0.28 spec/support/driver_columns_collection.rb
baza-0.0.27 spec/support/driver_columns_collection.rb
baza-0.0.26 spec/support/driver_columns_collection.rb
baza-0.0.25 spec/support/driver_columns_collection.rb
baza-0.0.24 spec/support/driver_columns_collection.rb
baza-0.0.23 spec/support/driver_columns_collection.rb
baza-0.0.22 spec/support/driver_columns_collection.rb
baza-0.0.21 spec/support/driver_columns_collection.rb