aboutsummaryrefslogtreecommitdiffstats
path: root/spec/spec_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/spec_helper.rb')
-rw-r--r--spec/spec_helper.rb31
1 files changed, 29 insertions, 2 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index ce539b6ffa..beb634fbd3 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -11,10 +11,37 @@ require 'arel'
Dir["#{dir}/#{helper}/*"].each { |m| require "#{dir}/#{helper}/#{File.basename(m)}" }
end
+module AdapterGuards
+ def adapter_is(name)
+ verify_adapter_name(name)
+ yield if name.to_s == adapter_name
+ end
+
+ def adapter_is_not(name)
+ verify_adapter_name(name)
+ yield if name.to_s != adapter_name
+ end
+
+ def adapter_name
+ name = ActiveRecord::Base.configurations["unit"][:adapter]
+ verify_adapter_name(name)
+ name
+ end
+
+ def verify_adapter_name(name)
+ raise "Invalid adapter name: #{name}" unless valid_adapters.include?(name.to_s)
+ end
+
+ def valid_adapters
+ %w[mysql postgresql sqlite3]
+ end
+end
+
Spec::Runner.configure do |config|
- config.include(BeLikeMatcher, HashTheSameAsMatcher, DisambiguateAttributesMatcher)
+ config.include BeLikeMatcher, HashTheSameAsMatcher, DisambiguateAttributesMatcher
+ config.include AdapterGuards
config.mock_with :rr
config.before do
- Arel::Table.engine = Arel::Engine.new(Fake::Engine.new)
+ Arel::Table.engine = Arel::Sql::Engine.new(ActiveRecord::Base)
end
end