2017-12-21 17:36:29 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2010-12-18 07:22:01 +00:00
|
|
|
require "test_helper"
|
2010-12-10 14:17:51 +00:00
|
|
|
|
2010-12-10 14:51:28 +00:00
|
|
|
if DEVISE_ORM == :active_record
|
2010-12-18 07:22:01 +00:00
|
|
|
require "generators/active_record/devise_generator"
|
|
|
|
|
2010-12-10 14:51:28 +00:00
|
|
|
class ActiveRecordGeneratorTest < Rails::Generators::TestCase
|
|
|
|
tests ActiveRecord::Generators::DeviseGenerator
|
|
|
|
destination File.expand_path("../../tmp", __FILE__)
|
|
|
|
setup :prepare_destination
|
2011-11-06 12:47:34 +00:00
|
|
|
|
|
|
|
test "all files are properly created with rails31 migration syntax" do
|
2012-01-02 19:43:39 +00:00
|
|
|
run_generator %w(monster)
|
|
|
|
assert_migration "db/migrate/devise_create_monsters.rb", /def change/
|
2011-11-06 12:47:34 +00:00
|
|
|
end
|
|
|
|
|
2012-10-27 21:58:24 +00:00
|
|
|
test "all files for namespaced model are properly created" do
|
|
|
|
run_generator %w(admin/monster)
|
|
|
|
assert_migration "db/migrate/devise_create_admin_monsters.rb", /def change/
|
|
|
|
end
|
|
|
|
|
2011-08-28 21:02:58 +00:00
|
|
|
test "update model migration when model exists" do
|
|
|
|
run_generator %w(monster)
|
|
|
|
assert_file "app/models/monster.rb"
|
|
|
|
run_generator %w(monster)
|
|
|
|
assert_migration "db/migrate/add_devise_to_monsters.rb"
|
|
|
|
end
|
2011-11-06 12:47:34 +00:00
|
|
|
|
2010-12-10 14:51:28 +00:00
|
|
|
test "all files are properly deleted" do
|
|
|
|
run_generator %w(monster)
|
2011-08-29 22:53:32 +00:00
|
|
|
run_generator %w(monster)
|
|
|
|
assert_migration "db/migrate/devise_create_monsters.rb"
|
|
|
|
assert_migration "db/migrate/add_devise_to_monsters.rb"
|
2014-02-25 16:42:55 +00:00
|
|
|
run_generator %w(monster), behavior: :revoke
|
2011-08-29 22:53:32 +00:00
|
|
|
assert_no_migration "db/migrate/add_devise_to_monsters.rb"
|
|
|
|
assert_migration "db/migrate/devise_create_monsters.rb"
|
2014-02-25 16:42:55 +00:00
|
|
|
run_generator %w(monster), behavior: :revoke
|
2010-12-10 14:51:28 +00:00
|
|
|
assert_no_file "app/models/monster.rb"
|
|
|
|
assert_no_migration "db/migrate/devise_create_monsters.rb"
|
|
|
|
end
|
2014-05-07 06:50:21 +00:00
|
|
|
|
|
|
|
test "use string column type for ip addresses" do
|
|
|
|
run_generator %w(monster)
|
|
|
|
assert_migration "db/migrate/devise_create_monsters.rb", /t.string :current_sign_in_ip/
|
|
|
|
assert_migration "db/migrate/devise_create_monsters.rb", /t.string :last_sign_in_ip/
|
|
|
|
end
|
2010-12-10 14:17:51 +00:00
|
|
|
end
|
2012-04-27 20:57:44 +00:00
|
|
|
|
2012-05-02 17:10:55 +00:00
|
|
|
module RailsEngine
|
|
|
|
class Engine < Rails::Engine
|
|
|
|
isolate_namespace RailsEngine
|
|
|
|
end
|
|
|
|
end
|
2012-04-27 20:57:44 +00:00
|
|
|
|
2012-05-02 17:51:01 +00:00
|
|
|
def simulate_inside_engine(engine, namespace)
|
|
|
|
if Rails::Generators.respond_to?(:namespace=)
|
2014-02-25 16:42:55 +00:00
|
|
|
swap Rails::Generators, namespace: namespace do
|
2012-05-02 17:51:01 +00:00
|
|
|
yield
|
|
|
|
end
|
|
|
|
else
|
2014-02-25 16:42:55 +00:00
|
|
|
swap Rails, application: engine.instance do
|
2012-05-02 17:51:01 +00:00
|
|
|
yield
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-05-02 17:10:55 +00:00
|
|
|
class ActiveRecordEngineGeneratorTest < Rails::Generators::TestCase
|
2012-04-27 20:57:44 +00:00
|
|
|
tests ActiveRecord::Generators::DeviseGenerator
|
|
|
|
destination File.expand_path("../../tmp", __FILE__)
|
|
|
|
setup :prepare_destination
|
|
|
|
|
2013-07-26 07:22:03 +00:00
|
|
|
test "all files are properly created in rails 4.0" do
|
2012-05-02 17:51:01 +00:00
|
|
|
simulate_inside_engine(RailsEngine::Engine, RailsEngine) do
|
2012-04-27 20:57:44 +00:00
|
|
|
run_generator ["monster"]
|
|
|
|
|
2013-03-13 16:15:27 +00:00
|
|
|
assert_file "app/models/rails_engine/monster.rb", /devise/
|
2013-07-23 04:02:36 +00:00
|
|
|
assert_file "app/models/rails_engine/monster.rb" do |content|
|
2016-05-02 13:46:57 +00:00
|
|
|
assert_no_match %r{attr_accessible :email}, content
|
2013-07-23 04:02:36 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2012-04-27 20:57:44 +00:00
|
|
|
end
|
2012-10-27 21:58:24 +00:00
|
|
|
end
|