Sha256: 262b2befe2a3372d705a57fbec0f5f5769b863dede014b38c606222e8b9167e0

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe 'Command Recorder' do
  if defined?(ActiveRecord::Migration::CommandRecorder)
    before do
      @recorder = ActiveRecord::Migration::CommandRecorder.new
    end

    it 'invert_add_foreign_key' do
      @recorder.add_foreign_key(:employees, :companies)
      remove = @recorder.inverse.first
      remove.should == [:remove_foreign_key, [:employees, :companies]]
    end

    it 'invert_add_foreign_key with column' do
      @recorder.add_foreign_key(:employees, :companies, :column => :place_id)
      remove = @recorder.inverse.first
      remove.should == [:remove_foreign_key, [:employees, {:column => :place_id}]]
    end

    it 'invert_add_foreign_key with name' do
      @recorder.add_foreign_key(:employees, :companies, :name => 'the_best_fk', :column => :place_id)
      remove = @recorder.inverse.first
      remove.should == [:remove_foreign_key, [:employees, {:name => 'the_best_fk'}]]

      @recorder.record :rename_table, [:old, :new]
      rename = @recorder.inverse.first
      rename.should == [:rename_table, [:new, :old]]
    end

    it 'remove_foreign_key is irreversible' do
      @recorder.remove_foreign_key(:employees, :companies)
      expect {
        @recorder.inverse
      }.to raise_error(ActiveRecord::IrreversibleMigration)
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aspgems-redhillonrails_core-2.0.0.beta4 spec/command_recorder_spec.rb