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