63 lines
1.3 KiB
Ruby
63 lines
1.3 KiB
Ruby
require 'test_helper'
|
|
require 'new_configuration_generator'
|
|
|
|
# Stub out methods on upgrader class
|
|
module Rails
|
|
module Upgrading
|
|
class NewConfigurationGenerator
|
|
attr_writer :environment_code
|
|
|
|
def has_environment?
|
|
true
|
|
end
|
|
|
|
def environment_code
|
|
@environment_code
|
|
end
|
|
|
|
def app_name
|
|
"my_application"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
class NewConfigurationGeneratorTest < ActiveSupport::TestCase
|
|
FRAME = "# Put this in config/application.rb
|
|
require File.expand_path('../boot', __FILE__)
|
|
|
|
module MyApplication
|
|
class Application < Rails::Application
|
|
%s
|
|
end
|
|
end"
|
|
|
|
CONFIG = " config.what_have_you = 'thing'
|
|
config.action_controller = 'what'"
|
|
|
|
CODE = "require 'w/e'
|
|
|
|
this_happens_before_the(code)
|
|
more_before_the_code!
|
|
|
|
Rails::Initializer.run do |config|
|
|
%s
|
|
end
|
|
|
|
this_is_after_the_code
|
|
"
|
|
|
|
def test_raises_error_with_no_code
|
|
generator = Rails::Upgrading::NewConfigurationGenerator.new
|
|
generator.environment_code = ""
|
|
|
|
assert_raises(RuntimeError) { generator.generate_new_application_rb }
|
|
end
|
|
|
|
def test_generates_with_code
|
|
generator = Rails::Upgrading::NewConfigurationGenerator.new
|
|
generator.environment_code = CODE % [CONFIG]
|
|
|
|
assert_equal FRAME % [generator.indent(CONFIG)], generator.generate_new_application_rb
|
|
end
|
|
end |