Skip to content

Commit

Permalink
Merge pull request #21356 from ronakjangir47/remove_mocha_railties
Browse files Browse the repository at this point in the history
Removed mocha from Railites PluginGeneratorTest
  • Loading branch information
kaspth committed Sep 22, 2015
2 parents 5e4df5c + 352690e commit 931c086
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 15 deletions.
1 change: 0 additions & 1 deletion railties/test/generators/plugin_generator_test.rb
@@ -1,7 +1,6 @@
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
Expand Down
49 changes: 35 additions & 14 deletions railties/test/generators/shared_generator_tests.rb
Expand Up @@ -28,9 +28,22 @@ 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')
quietly { generator.invoke_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
Expand Down Expand Up @@ -91,8 +104,15 @@ 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)
quietly { assert_match(/It works!/, capture(:stdout) { generator.invoke_all }) }
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
Expand All @@ -107,18 +127,19 @@ def test_edge_option
end

def test_skip_gemfile
generator([destination_root], skip_gemfile: true).expects(:bundle_command).never
quietly { generator.invoke_all }
assert_no_file 'Gemfile'
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
quietly { generator.invoke_all }

# skip_bundle is only about running bundle install, ensure the Gemfile is still
# generated.
assert_file 'Gemfile'
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
Expand Down

0 comments on commit 931c086

Please sign in to comment.