+++ /dev/null
-require File.join( File.dirname(__FILE__), '..', '..', 'test_helper' )
-require 'active_record'
-require 'globalize/model/active_record'
-
-# Hook up model translation
-ActiveRecord::Base.send(:include, Globalize::Model::ActiveRecord::Translated)
-
-# Load Post model
-require File.join( File.dirname(__FILE__), '..', '..', 'data', 'post' )
-
-class MigrationTest < ActiveSupport::TestCase
- def setup
- reset_db! File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'data', 'no_globalize_schema.rb'))
- end
-
- test 'globalize table added' do
- assert !Post.connection.table_exists?( :post_translations )
- Post.create_translation_table! :subject => :string, :content => :text
- assert Post.connection.table_exists?( :post_translations )
- columns = Post.connection.columns( :post_translations )
- assert locale = columns.detect {|c| c.name == 'locale' }
- assert_equal :string, locale.type
- assert subject = columns.detect {|c| c.name == 'subject' }
- assert_equal :string, subject.type
- assert content = columns.detect {|c| c.name == 'content' }
- assert_equal :text, content.type
- assert post_id = columns.detect {|c| c.name == 'post_id' }
- assert_equal :integer, post_id.type
- assert created_at = columns.detect {|c| c.name == 'created_at' }
- assert_equal :datetime, created_at.type
- assert updated_at = columns.detect {|c| c.name == 'updated_at' }
- assert_equal :datetime, updated_at.type
- end
-
- test 'globalize table dropped' do
- assert !Post.connection.table_exists?( :post_translations )
- Post.create_translation_table! :subject => :string, :content => :text
- assert Post.connection.table_exists?( :post_translations )
- Post.drop_translation_table!
- assert !Post.connection.table_exists?( :post_translations )
- end
-
- test 'exception on untranslated field inputs' do
- assert_raise Globalize::Model::UntranslatedMigrationField do
- Post.create_translation_table! :subject => :string, :content => :text, :bogus => :string
- end
- end
-
- test 'exception on missing field inputs' do
- assert_raise Globalize::Model::MigrationMissingTranslatedField do
- Post.create_translation_table! :content => :text
- end
- end
-
- test 'exception on bad input type' do
- assert_raise Globalize::Model::BadMigrationFieldType do
- Post.create_translation_table! :subject => :string, :content => :integer
- end
- end
-
- test 'create_translation_table! should not be called on non-translated models' do
- assert_raise NoMethodError do
- Blog.create_translation_table! :name => :string
- end
- end
-
- test 'drop_translation_table! should not be called on non-translated models' do
- assert_raise NoMethodError do
- Blog.drop_translation_table!
- end
- end
-
-end
\ No newline at end of file