提交 352690e1 编写于 作者: R Ronak Jangir

Removed mocha from Railites PluginGeneratorTest

上级 6073dcd3
require 'generators/generators_test_helper'
require 'rails/generators/rails/plugin/plugin_generator'
require 'generators/shared_generator_tests'
require 'mocha/setup' # FIXME: stop using mocha
DEFAULT_PLUGIN_FILES = %w(
.gitignore
......
......@@ -28,10 +28,23 @@ def test_skeleton_is_created
def assert_generates_with_bundler(options = {})
generator([destination_root], options)
generator.expects(:bundle_command).with('install').once
generator.stubs(:bundle_command).with('exec spring binstub --all')
command_check = -> command do
@install_called ||= 0
case command
when 'install'
@install_called += 1
assert_equal 1, @install_called, "install expected to be called once, but was called #{@install_called} times"
when 'exec spring binstub --all'
# Called when running tests with spring, let through unscathed.
end
end
generator.stub :bundle_command, command_check do
quietly { generator.invoke_all }
end
end
def test_generation_runs_bundle_install
assert_generates_with_bundler
......@@ -91,9 +104,16 @@ def test_template_is_executed_when_supplied_an_https_path
template = %{ say "It works!" }
template.instance_eval "def read; self; end" # Make the string respond to read
generator([destination_root], template: path).expects(:open).with(path, 'Accept' => 'application/x-thor-template').returns(template)
check_open = -> *args do
assert_equal [ path, 'Accept' => 'application/x-thor-template' ], args
template
end
generator = generator([destination_root], template: path)
generator([destination_root], template: path).stub(:open, check_open, template) do
quietly { assert_match(/It works!/, capture(:stdout) { generator.invoke_all }) }
end
end
def test_dev_option
assert_generates_with_bundler dev: true
......@@ -107,19 +127,20 @@ def test_edge_option
end
def test_skip_gemfile
generator([destination_root], skip_gemfile: true).expects(:bundle_command).never
assert_not_called(generator([destination_root], skip_gemfile: true), :bundle_command) do
quietly { generator.invoke_all }
assert_no_file 'Gemfile'
end
end
def test_skip_bundle
generator([destination_root], skip_bundle: true).expects(:bundle_command).never
assert_not_called(generator([destination_root], skip_bundle: true), :bundle_command) do
quietly { generator.invoke_all }
# skip_bundle is only about running bundle install, ensure the Gemfile is still
# generated.
assert_file 'Gemfile'
end
end
def test_skip_git
run_generator [destination_root, '--skip-git', '--full']
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册