From 108a59c8972235d85d64cbdac20e87618876364f Mon Sep 17 00:00:00 2001 From: Matthew Higgins Date: Tue, 23 Jul 2013 21:20:14 -0700 Subject: [PATCH] Fix tests for Rails 4 --- Gemfile | 1 + foreigner.gemspec | 5 +-- lib/foreigner.rb | 1 + .../migration/command_recorder_test.rb | 43 ++++++++++++------- test/helper.rb | 12 +++--- 5 files changed, 37 insertions(+), 25 deletions(-) diff --git a/Gemfile b/Gemfile index 7b38b5d..06f5795 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source "http://rubygems.org" gemspec group :test do + gem 'rails', '~> 4' gem 'mocha', require: false gem 'rake' end \ No newline at end of file diff --git a/foreigner.gemspec b/foreigner.gemspec index 35a4040..02fffa3 100644 --- a/foreigner.gemspec +++ b/foreigner.gemspec @@ -6,7 +6,7 @@ Gem::Specification.new do |s| s.summary = 'Foreign Keys for Rails' s.description = 'Adds helpers to migrations and dumps foreign keys to schema.rb' - s.required_ruby_version = '>= 1.8.7' + s.required_ruby_version = '>= 1.9.2' s.required_rubygems_version = '>= 1.3.5' s.author = 'Matthew Higgins' @@ -14,8 +14,7 @@ Gem::Specification.new do |s| s.homepage = 'http://github.com/matthuhiggins/foreigner' s.rubyforge_project = 'foreigner' - s.extra_rdoc_files = %w(README.rdoc) - s.files = %w(MIT-LICENSE Rakefile README.rdoc) + Dir['lib/**/*.rb'] + Dir['test/**/*.rb'] + s.files = %w(MIT-LICENSE Rakefile README.md) + Dir['lib/**/*.rb'] + Dir['test/**/*.rb'] s.add_dependency('activerecord', '>= 3.0.0') s.add_development_dependency('activerecord', '>= 3.1.0') end diff --git a/lib/foreigner.rb b/lib/foreigner.rb index aa5d85b..9e9a70f 100644 --- a/lib/foreigner.rb +++ b/lib/foreigner.rb @@ -1,4 +1,5 @@ require 'active_support/all' +require 'active_record' module Foreigner extend ActiveSupport::Autoload diff --git a/test/foreigner/migration/command_recorder_test.rb b/test/foreigner/migration/command_recorder_test.rb index 449bc65..d41f30b 100644 --- a/test/foreigner/migration/command_recorder_test.rb +++ b/test/foreigner/migration/command_recorder_test.rb @@ -5,36 +5,47 @@ end class Foreigner::CommandRecorderTest < Foreigner::UnitTest - def setup + setup do @recorder = ActiveRecord::Migration::CommandRecorder.new end test 'invert_add_foreign_key' do - @recorder.add_foreign_key(:employees, :companies) - remove = @recorder.inverse.first - assert_equal [:remove_foreign_key, [:employees, :companies]], remove + @recorder.revert do + @recorder.add_foreign_key(:employees, :companies) + end + + assert_equal [ + [:remove_foreign_key, [:employees, :companies]] + ], @recorder.commands end test 'invert_add_foreign_key with column' do - @recorder.add_foreign_key(:employees, :companies, :column => :place_id) - remove = @recorder.inverse.first - assert_equal [:remove_foreign_key, [:employees, {:column => :place_id}]], remove + @recorder.revert do + @recorder.add_foreign_key(:employees, :companies, :column => :place_id) + end + + assert_equal [ + [:remove_foreign_key, [:employees, {:column => :place_id}]] + ], @recorder.commands end test 'invert_add_foreign_key with name' do - @recorder.add_foreign_key(:employees, :companies, :name => 'the_best_fk', :column => :place_id) - remove = @recorder.inverse.first - assert_equal [:remove_foreign_key, [:employees, {:name => 'the_best_fk'}]], remove - - @recorder.record :rename_table, [:old, :new] - rename = @recorder.inverse.first - assert_equal [:rename_table, [:new, :old]], rename + @recorder.revert do + @recorder.add_foreign_key(:employees, :companies, :name => 'the_best_fk', :column => :place_id) + end + + assert_equal [ + [:remove_foreign_key, [:employees, {:name => 'the_best_fk'}]] + ], @recorder.commands end test 'remove_foreign_key is irreversible' do - @recorder.remove_foreign_key(:employees, :companies) assert_raise ActiveRecord::IrreversibleMigration do - @recorder.inverse + @recorder.revert do + @recorder.remove_foreign_key(:employees, :companies) + end end + # @recorder.inverse + # end end end \ No newline at end of file diff --git a/test/helper.rb b/test/helper.rb index 21355e7..3717b9b 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -1,9 +1,9 @@ require 'bundler/setup' -Bundler.require(:default) +Bundler.require :default, :test -require 'test/unit' -require 'active_record' -require 'mocha' +require 'active_support/test_case' +require 'minitest/autorun' +require 'mocha/setup' # Foreigner::Adapter.registered.values.each do |file_name| # require file_name @@ -14,7 +14,7 @@ def execute(sql, name = nil) sql_statements << sql sql end - + def quote_table_name(name) quote_column_name(name).gsub('.', '`.`') end @@ -27,7 +27,7 @@ def sql_statements @sql_statements ||= [] end - def drop_table(name, options = {}) + def drop_table(name, options = {}) end def disable_referential_integrity