test/install_generator_test.rb in audited-4.3.0 vs test/install_generator_test.rb in audited-4.4.0
- old
+ new
@@ -5,13 +5,41 @@
class InstallGeneratorTest < Rails::Generators::TestCase
destination File.expand_path('../../tmp', __FILE__)
setup :prepare_destination
tests Audited::Generators::InstallGenerator
- test "should generate a migration" do
- run_generator %w(install)
+ test "generate migration with 'text' type for audited_changes column" do
+ run_generator
assert_migration "db/migrate/install_audited.rb" do |content|
- assert_match(/class InstallAudited/, content)
+ assert_includes(content, 'class InstallAudited')
+ assert_includes(content, 't.column :audited_changes, :text')
+ end
+ end
+
+ test "generate migration with 'jsonb' type for audited_changes column" do
+ run_generator %w(--audited-changes-column-type jsonb)
+
+ assert_migration "db/migrate/install_audited.rb" do |content|
+ assert_includes(content, 'class InstallAudited')
+ assert_includes(content, 't.column :audited_changes, :jsonb')
+ end
+ end
+
+ test "generate migration with 'json' type for audited_changes column" do
+ run_generator %w(--audited-changes-column-type json)
+
+ assert_migration "db/migrate/install_audited.rb" do |content|
+ assert_includes(content, 'class InstallAudited')
+ assert_includes(content, 't.column :audited_changes, :json')
+ end
+ end
+
+ test "generate migration with correct AR migration parent" do
+ run_generator
+
+ assert_migration "db/migrate/install_audited.rb" do |content|
+ parent = Rails::VERSION::MAJOR == 4 ? 'ActiveRecord::Migration' : "ActiveRecord::Migration[#{ActiveRecord::Migration.current_version}]"
+ assert_includes(content, "class InstallAudited < #{parent}\n")
end
end
end