minitest-rails 0.0.7 → 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. data/CHANGELOG.rdoc +22 -0
  2. data/LICENSE +20 -0
  3. data/Manifest.txt +30 -25
  4. data/README.rdoc +46 -15
  5. data/Rakefile +4 -4
  6. data/lib/generators/{minitest → mini_test}/controller/controller_generator.rb +5 -5
  7. data/lib/generators/{minitest/controller/templates/controller_test.rb → mini_test/controller/templates/controller_spec.rb} +6 -7
  8. data/lib/generators/mini_test/controller/templates/controller_test.rb +19 -0
  9. data/lib/generators/mini_test/helper/helper_generator.rb +19 -0
  10. data/lib/generators/{minitest → mini_test}/helper/templates/helper_test.rb +1 -1
  11. data/lib/generators/{minitest → mini_test}/install/install_generator.rb +1 -1
  12. data/lib/generators/mini_test/install/templates/test/minitest_helper.rb +25 -0
  13. data/lib/generators/mini_test/integration/integration_generator.rb +19 -0
  14. data/lib/generators/mini_test/integration/templates/integration_spec.rb +8 -0
  15. data/lib/generators/mini_test/integration/templates/integration_test.rb +7 -0
  16. data/lib/generators/{minitest → mini_test}/mailer/mailer_generator.rb +3 -3
  17. data/lib/generators/{minitest → mini_test}/mailer/templates/mailer_spec.rb +2 -2
  18. data/lib/generators/{minitest → mini_test}/mailer/templates/mailer_test.rb +5 -5
  19. data/lib/generators/{minitest → mini_test}/model/model_generator.rb +5 -5
  20. data/lib/generators/mini_test/model/templates/model_spec.rb +13 -0
  21. data/lib/generators/mini_test/model/templates/model_test.rb +9 -0
  22. data/lib/generators/mini_test/scaffold/scaffold_generator.rb +28 -0
  23. data/lib/generators/{minitest → mini_test}/scaffold/templates/controller_spec.rb +2 -6
  24. data/lib/generators/{minitest → mini_test}/scaffold/templates/controller_test.rb +3 -2
  25. data/lib/generators/{minitest.rb → mini_test.rb} +2 -2
  26. data/lib/minitest/rails/action_controller.rb +19 -0
  27. data/lib/minitest/rails/action_dispatch.rb +36 -0
  28. data/lib/minitest/rails/action_mailer.rb +17 -0
  29. data/lib/minitest/rails/action_view.rb +18 -0
  30. data/lib/minitest/rails/active_support.rb +68 -0
  31. data/lib/minitest/rails/tasks/minitest.rake +32 -15
  32. data/lib/minitest/rails.rb +54 -5
  33. data/lib/minitest-rails.rb +11 -5
  34. data/minitest-rails.gemspec +42 -0
  35. data/test/test_controller_generator.rb +30 -10
  36. data/test/test_helper_generator.rb +30 -5
  37. data/test/test_install_generator.rb +5 -13
  38. data/test/test_mailer_generator.rb +5 -6
  39. data/test/test_minitest.rb +2 -2
  40. data/test/test_model_generator.rb +27 -7
  41. data/test/test_scaffold_generator.rb +5 -8
  42. metadata +65 -41
  43. data/lib/generators/minitest/controller/templates/controller_spec.rb +0 -17
  44. data/lib/generators/minitest/helper/helper_generator.rb +0 -19
  45. data/lib/generators/minitest/install/templates/test/minitest_helper.rb +0 -61
  46. data/lib/generators/minitest/model/templates/model_spec.rb +0 -28
  47. data/lib/generators/minitest/model/templates/model_test.rb +0 -11
  48. data/lib/generators/minitest/scaffold/scaffold_generator.rb +0 -22
  49. data/lib/minitest/rails/controller.rb +0 -104
  50. data/lib/minitest/rails/fixtures.rb +0 -14
  51. data/lib/minitest/rails/helper.rb +0 -30
  52. data/lib/minitest/rails/mailer.rb +0 -8
  53. data/lib/minitest/rails/model.rb +0 -8
  54. data/lib/minitest/rails/spec.rb +0 -14
  55. /data/lib/generators/{minitest → mini_test}/helper/templates/helper_spec.rb +0 -0
  56. /data/lib/generators/{minitest → mini_test}/model/templates/fixtures.yml +0 -0
@@ -0,0 +1,17 @@
1
+ require "minitest/rails/active_support"
2
+ require "action_mailer/test_case"
3
+
4
+ module MiniTest
5
+ module Rails
6
+ module ActionMailer
7
+ class TestCase < MiniTest::Rails::ActiveSupport::TestCase
8
+ # Use AM::TestCase for the base class when describing a mailer
9
+ register_spec_type(self) do |desc|
10
+ desc < ::ActionMailer::Base
11
+ end
12
+
13
+ include ::ActionMailer::TestCase::Behavior
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ require "minitest/rails/active_support"
2
+ require "action_view/test_case"
3
+
4
+ module MiniTest
5
+ module Rails
6
+ module ActionView
7
+ class TestCase < MiniTest::Rails::ActiveSupport::TestCase
8
+ TestController = ::ActionView::TestCase::TestController
9
+ include ::ActionView::TestCase::Behavior
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ # Register by name, because Helpers are just modules
16
+ MiniTest::Spec.register_spec_type(/Helper$/, MiniTest::Rails::ActionView::TestCase)
17
+ MiniTest::Spec.register_spec_type(/HelperTest$/, MiniTest::Rails::ActionView::TestCase)
18
+ MiniTest::Spec.register_spec_type(/Helper Test$/, MiniTest::Rails::ActionView::TestCase)
@@ -0,0 +1,68 @@
1
+ require 'minitest/spec'
2
+ require 'active_support/testing/setup_and_teardown'
3
+ require 'active_support/testing/assertions'
4
+ require 'active_support/testing/deprecation'
5
+ require 'active_support/testing/declarative'
6
+ require 'active_support/testing/pending'
7
+ require 'active_support/testing/isolation'
8
+ require 'active_support/testing/mochaing'
9
+ require 'active_support/core_ext/kernel/reporting'
10
+
11
+ module MiniTest
12
+ module Rails
13
+ module ActiveSupport
14
+ class TestCase < ::MiniTest::Spec
15
+
16
+ # This is deprecated, but I don't want to change the Rails calls to it.
17
+ # Keep it here for now, until a better way presents itself...
18
+ def assert_block msg = nil
19
+ msg = message(msg) { "Expected block to return true value" }
20
+ assert yield, msg
21
+ end
22
+
23
+ if defined?(ActiveRecord::Base)
24
+ # Use AS::TestCase for the base class when describing a model
25
+ register_spec_type(self) do |desc|
26
+ desc < ActiveRecord::Base
27
+ end
28
+ end
29
+
30
+ # For backward compatibility with Test::Unit
31
+ def build_message(message, template = nil, *args)
32
+ template = template.gsub('<?>', '<%s>')
33
+ message || sprintf(template, *args)
34
+ end
35
+
36
+ Assertion = ::MiniTest::Assertion
37
+ alias_method :method_name, :name if method_defined? :name
38
+ alias_method :method_name, :__name__ if method_defined? :__name__
39
+
40
+ $tags = {}
41
+ def self.for_tag(tag)
42
+ yield if $tags[tag]
43
+ end
44
+
45
+ def describe(*args, &block)
46
+ Kernel.describe(args, block)
47
+ end
48
+
49
+ include ::ActiveSupport::Testing::SetupAndTeardown
50
+ include ::ActiveSupport::Testing::Assertions
51
+ include ::ActiveSupport::Testing::Deprecation
52
+ include ::ActiveSupport::Testing::Pending
53
+ extend ::ActiveSupport::Testing::Declarative
54
+
55
+ # test/unit backwards compatibility methods
56
+ alias :assert_raise :assert_raises
57
+ alias :assert_not_nil :refute_nil
58
+ alias :assert_not_equal :refute_equal
59
+ alias :assert_no_match :refute_match
60
+ alias :assert_not_same :refute_same
61
+
62
+ def assert_nothing_raised(*args)
63
+ yield
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,29 +1,46 @@
1
1
  require 'rake/testtask'
2
+ require 'rails/test_unit/sub_test_task'
2
3
 
3
- MINITEST_TASKS = %w(models controllers helpers mailers) #views integration
4
+ TASKS = %w(models controllers helpers mailers acceptance) #views
5
+ MINITEST_TASKS = TASKS.map { |sub| "minitest:#{sub}" }
4
6
 
5
- desc 'Runs all tests'
7
+ desc "Runs minitest"
6
8
  task :test do
7
- errors = MINITEST_TASKS.collect do |task|
8
- begin
9
- Rake::Task["test:#{task}"].invoke
10
- nil
11
- rescue => e
12
- task
13
- end
14
- end.compact
15
- abort "Errors running #{errors * ', '}!" if errors.any?
9
+ Rake::Task['minitest'].invoke
10
+ end
11
+
12
+ desc "Runs #{MINITEST_TASKS.join(", ")} together"
13
+ task :minitest do
14
+ Rake::Task['minitest:run'].invoke
16
15
  end
17
16
 
18
- namespace :test do
17
+ namespace 'minitest' do
18
+
19
19
  task :prepare do
20
20
  # Placeholder task for other Railtie and plugins to enhance. See Active Record for an example.
21
21
  end
22
22
 
23
- MINITEST_TASKS.each do |sub|
24
- Rake::TestTask.new(sub => 'test:prepare') do |t|
25
- t.libs << 'test'
23
+ task :run do
24
+ errors = MINITEST_TASKS.collect do |task|
25
+ begin
26
+ Rake::Task[task].invoke
27
+ nil
28
+ rescue => e
29
+ { :task => task, :exception => e }
30
+ end
31
+ end.compact
32
+
33
+ if errors.any?
34
+ puts errors.map { |e| "Errors running #{e[:task]}! #{e[:exception].inspect}" }.join("\n")
35
+ abort
36
+ end
37
+ end
38
+
39
+ TASKS.each do |sub|
40
+ Rails::SubTestTask.new(sub => 'minitest:prepare') do |t|
41
+ t.libs.push 'test'
26
42
  t.pattern = "test/#{sub}/**/*_test.rb"
27
43
  end
28
44
  end
45
+
29
46
  end
@@ -1,5 +1,54 @@
1
- require "minitest/rails/model"
2
- require "minitest/rails/controller"
3
- require "minitest/rails/helper"
4
- require "minitest/rails/mailer"
5
- require "minitest/rails/fixtures" if defined?(ActiveRecord::Base)
1
+ # Make double-sure the RAILS_ENV is not set to production,
2
+ # so fixtures aren't loaded into that environment
3
+ abort("Abort testing: Your Rails environment is running in production mode!") if Rails.env.production?
4
+
5
+ require "minitest/rails/active_support"
6
+ require "minitest/rails/action_controller"
7
+ require "minitest/rails/action_view"
8
+ require "minitest/rails/action_mailer"
9
+ require "minitest/rails/action_dispatch"
10
+
11
+ # Enable turn if it is available
12
+ begin
13
+ require 'turn/autorun'
14
+ rescue LoadError
15
+ end
16
+
17
+ module MiniTest
18
+ module Rails
19
+ def self.override_testunit!
20
+ Kernel.silence_warnings do
21
+ ::ActiveSupport.const_set :TestCase, MiniTest::Rails::ActiveSupport::TestCase
22
+ ::ActionController.const_set :TestCase, MiniTest::Rails::ActionController::TestCase
23
+ ::ActionView.const_set :TestCase, MiniTest::Rails::ActionView::TestCase
24
+ ::ActionMailer.const_set :TestCase, MiniTest::Rails::ActionMailer::TestCase
25
+ ::ActionDispatch.const_set :IntegrationTest, MiniTest::Rails::ActionDispatch::IntegrationTest
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ if defined?(ActiveRecord::Base)
32
+ class MiniTest::Rails::ActiveSupport::TestCase
33
+ include ActiveRecord::TestFixtures
34
+ self.fixture_path = "#{Rails.root}/test/fixtures/"
35
+ end
36
+
37
+ MiniTest::Rails::ActionDispatch::IntegrationTest.fixture_path = MiniTest::Rails::ActiveSupport::TestCase.fixture_path
38
+
39
+ def create_fixtures(*table_names, &block)
40
+ ActiveRecord::Fixtures.create_fixtures(MiniTest::Rails::ActiveSupport::TestCase.fixture_path, table_names, {}, &block)
41
+ end
42
+ end
43
+
44
+ class MiniTest::Rails::ActionController::TestCase
45
+ setup do
46
+ @routes = Rails.application.routes
47
+ end
48
+ end
49
+
50
+ class MiniTest::Rails::ActionDispatch::IntegrationTest
51
+ setup do
52
+ @routes = Rails.application.routes
53
+ end
54
+ end
@@ -1,13 +1,19 @@
1
1
  require "rails"
2
2
  require "minitest/unit"
3
3
 
4
- module Minitest
4
+ module MiniTest
5
5
  module Rails
6
- VERSION = "0.0.7"
6
+ VERSION = "0.1"
7
7
  class Railtie < ::Rails::Railtie
8
- # config.app_generators.integration_tool :minitest
9
- config.app_generators.test_framework :minitest
10
- config.app_generators.fallbacks[:minitest] = :test_unit
8
+ if ::Rails.version.to_f >= 3.1
9
+ config.app_generators.integration_tool :mini_test
10
+ config.app_generators.test_framework :mini_test
11
+ config.app_generators.fallbacks[:mini_test] = :test_unit
12
+ else
13
+ config.generators.integration_tool :mini_test
14
+ config.generators.test_framework :mini_test
15
+ config.generators.fallbacks[:mini_test] = :test_unit
16
+ end
11
17
 
12
18
  rake_tasks do
13
19
  load "minitest/rails/tasks/minitest.rake"
@@ -0,0 +1,42 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "minitest-rails"
5
+ s.version = "0.1.20120709115419"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Mike Moore"]
9
+ s.date = "2012-07-09"
10
+ s.description = "Adds MiniTest as the default testing library in Rails 3."
11
+ s.email = ["mike@blowmage.com"]
12
+ s.extra_rdoc_files = ["CHANGELOG.rdoc", "Manifest.txt", "README.rdoc"]
13
+ s.files = [".autotest", ".gemtest", "CHANGELOG.rdoc", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "lib/generators/mini_test.rb", "lib/generators/mini_test/controller/controller_generator.rb", "lib/generators/mini_test/controller/templates/controller_spec.rb", "lib/generators/mini_test/controller/templates/controller_test.rb", "lib/generators/mini_test/helper/helper_generator.rb", "lib/generators/mini_test/helper/templates/helper_spec.rb", "lib/generators/mini_test/helper/templates/helper_test.rb", "lib/generators/mini_test/install/install_generator.rb", "lib/generators/mini_test/install/templates/test/minitest_helper.rb", "lib/generators/mini_test/integration/integration_generator.rb", "lib/generators/mini_test/integration/templates/integration_spec.rb", "lib/generators/mini_test/integration/templates/integration_test.rb", "lib/generators/mini_test/mailer/mailer_generator.rb", "lib/generators/mini_test/mailer/templates/mailer_spec.rb", "lib/generators/mini_test/mailer/templates/mailer_test.rb", "lib/generators/mini_test/model/model_generator.rb", "lib/generators/mini_test/model/templates/fixtures.yml", "lib/generators/mini_test/model/templates/model_spec.rb", "lib/generators/mini_test/model/templates/model_test.rb", "lib/generators/mini_test/scaffold/scaffold_generator.rb", "lib/generators/mini_test/scaffold/templates/controller_spec.rb", "lib/generators/mini_test/scaffold/templates/controller_test.rb", "lib/minitest-rails.rb", "lib/minitest/rails.rb", "lib/minitest/rails/action_controller.rb", "lib/minitest/rails/action_dispatch.rb", "lib/minitest/rails/action_mailer.rb", "lib/minitest/rails/action_view.rb", "lib/minitest/rails/active_support.rb", "lib/minitest/rails/tasks/minitest.rake", "minitest-rails.gemspec", "test/test_controller_generator.rb", "test/test_helper_generator.rb", "test/test_install_generator.rb", "test/test_mailer_generator.rb", "test/test_minitest.rb", "test/test_model_generator.rb", "test/test_scaffold_generator.rb"]
14
+ s.homepage = "http://blowmage.com/minitest-rails"
15
+ s.rdoc_options = ["--main", "README.rdoc"]
16
+ s.require_paths = ["lib"]
17
+ s.rubyforge_project = "minitest-rails"
18
+ s.rubygems_version = "1.8.24"
19
+ s.summary = "MiniTest integration for Rails 3."
20
+ s.test_files = ["test/test_controller_generator.rb", "test/test_helper_generator.rb", "test/test_install_generator.rb", "test/test_mailer_generator.rb", "test/test_minitest.rb", "test/test_model_generator.rb", "test/test_scaffold_generator.rb"]
21
+
22
+ if s.respond_to? :specification_version then
23
+ s.specification_version = 3
24
+
25
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<minitest>, ["~> 3.0"])
27
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0"])
28
+ s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
29
+ s.add_development_dependency(%q<hoe>, ["~> 3.0"])
30
+ else
31
+ s.add_dependency(%q<minitest>, ["~> 3.0"])
32
+ s.add_dependency(%q<rails>, ["~> 3.0"])
33
+ s.add_dependency(%q<rdoc>, ["~> 3.10"])
34
+ s.add_dependency(%q<hoe>, ["~> 3.0"])
35
+ end
36
+ else
37
+ s.add_dependency(%q<minitest>, ["~> 3.0"])
38
+ s.add_dependency(%q<rails>, ["~> 3.0"])
39
+ s.add_dependency(%q<rdoc>, ["~> 3.10"])
40
+ s.add_dependency(%q<hoe>, ["~> 3.0"])
41
+ end
42
+ end
@@ -4,41 +4,61 @@ require "minitest-rails"
4
4
  require "rails"
5
5
  require "rails/generators"
6
6
 
7
- require "generators/minitest/controller/controller_generator"
7
+ require "generators/mini_test/controller/controller_generator"
8
8
 
9
9
  require "fileutils"
10
10
 
11
- class TestControllerGenerator < Minitest::Unit::TestCase
11
+ class TestControllerGenerator < MiniTest::Unit::TestCase
12
12
  Rails::Generators.no_color!
13
13
 
14
14
  def test_controller_generator
15
15
  text = capture(:stdout) do
16
- Minitest::Generators::ControllerGenerator.start ["user"]
16
+ MiniTest::Generators::ControllerGenerator.start ["user"]
17
17
  end
18
18
  assert_match(/create test\/controllers\/user_controller_test.rb/m, text)
19
19
  assert File.exists? "test/controllers/user_controller_test.rb"
20
20
  contents = open("test/controllers/user_controller_test.rb").read
21
- assert_match(/class UserControllerTest < Minitest::Rails::Controller/m, contents)
22
- assert_match(/def test_sanity/m, contents)
21
+ assert_match(/class UserControllerTest/m, contents)
23
22
  ensure
24
23
  # TODO: Don"t write the files
25
24
  # I agree, it would be better to mock the file getting written
26
25
  FileUtils.rm_r "test/controllers"
27
26
  end
28
27
 
28
+ def test_namespaced_controller_generator
29
+ text = capture(:stdout) do
30
+ MiniTest::Generators::ControllerGenerator.start ["admin/user"]
31
+ end
32
+ assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m, text)
33
+ assert File.exists? "test/controllers/admin/user_controller_test.rb"
34
+ contents = open("test/controllers/admin/user_controller_test.rb").read
35
+ assert_match(/class Admin::UserControllerTest/m, contents)
36
+ ensure
37
+ FileUtils.rm_r "test/controllers"
38
+ end
39
+
29
40
  def test_controller_generator_spec
30
41
  text = capture(:stdout) do
31
- Minitest::Generators::ControllerGenerator.start ["user", "--spec"]
42
+ MiniTest::Generators::ControllerGenerator.start ["user", "--spec"]
32
43
  end
33
44
  assert_match(/create test\/controllers\/user_controller_test.rb/m, text)
34
45
  assert File.exists? "test/controllers/user_controller_test.rb"
35
46
  contents = open("test/controllers/user_controller_test.rb").read
36
47
  assert_match(/describe UserController do/m, contents)
37
- assert_match(/subject \{ UserController \}/m, contents)
38
- assert_match(/# fixtures :all/m, contents)
39
- assert_match(/@controller = UserController.new/m, contents)
40
- assert_match(/it "must be a real test"/m, contents)
41
48
  ensure
42
49
  FileUtils.rm_r "test/controllers"
43
50
  end
51
+
52
+ def test_namespaced_controller_generator_spec
53
+ text = capture(:stdout) do
54
+ MiniTest::Generators::ControllerGenerator.start ["admin/user", "--spec"]
55
+ end
56
+ assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m, text)
57
+ assert File.exists? "test/controllers/admin/user_controller_test.rb"
58
+ contents = open("test/controllers/admin/user_controller_test.rb").read
59
+ assert_match(/describe Admin::UserController do/m, contents)
60
+ ensure
61
+ FileUtils.rm_r "test/controllers"
62
+ end
63
+
44
64
  end
@@ -4,30 +4,42 @@ require "minitest-rails"
4
4
  require "rails"
5
5
  require "rails/generators"
6
6
 
7
- require "generators/minitest/helper/helper_generator"
7
+ require "generators/mini_test/helper/helper_generator"
8
8
 
9
9
  require "fileutils"
10
10
 
11
- class TestHelperGenerator < Minitest::Unit::TestCase
11
+ class TestHelperGenerator < MiniTest::Unit::TestCase
12
12
  Rails::Generators.no_color!
13
13
 
14
14
  def test_helper_generator
15
15
  text = capture(:stdout) do
16
- Minitest::Generators::HelperGenerator.start ["user"]
16
+ MiniTest::Generators::HelperGenerator.start ["user"]
17
17
  end
18
18
  assert_match(/create test\/helpers\/user_helper_test.rb/m, text)
19
19
  assert File.exists? "test/helpers/user_helper_test.rb"
20
20
  contents = open("test/helpers/user_helper_test.rb").read
21
- assert_match(/class UserHelperTest < Minitest::Rails::Helper/m, contents)
21
+ assert_match(/class UserHelperTest < MiniTest::Unit::TestCase/m, contents)
22
22
  ensure
23
23
  # TODO: Don"t write the files
24
24
  # I agree, it would be better to mock the file getting written
25
25
  FileUtils.rm_r "test/helpers"
26
26
  end
27
27
 
28
+ def test_namespaced_helper_generator
29
+ text = capture(:stdout) do
30
+ MiniTest::Generators::HelperGenerator.start ["admin/user"]
31
+ end
32
+ assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m, text)
33
+ assert File.exists? "test/helpers/admin/user_helper_test.rb"
34
+ contents = open("test/helpers/admin/user_helper_test.rb").read
35
+ assert_match(/class Admin::UserHelperTest < MiniTest::Unit::TestCase/m, contents)
36
+ ensure
37
+ FileUtils.rm_r "test/helpers"
38
+ end
39
+
28
40
  def test_helper_generator_spec
29
41
  text = capture(:stdout) do
30
- Minitest::Generators::HelperGenerator.start ["user", "--spec"]
42
+ MiniTest::Generators::HelperGenerator.start ["user", "--spec"]
31
43
  end
32
44
  assert_match(/create test\/helpers\/user_helper_test.rb/m, text)
33
45
  assert File.exists? "test/helpers/user_helper_test.rb"
@@ -36,4 +48,17 @@ class TestHelperGenerator < Minitest::Unit::TestCase
36
48
  ensure
37
49
  FileUtils.rm_r "test/helpers"
38
50
  end
51
+
52
+ def test_helper_generator_spec
53
+ text = capture(:stdout) do
54
+ MiniTest::Generators::HelperGenerator.start ["admin/user", "--spec"]
55
+ end
56
+ assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m, text)
57
+ assert File.exists? "test/helpers/admin/user_helper_test.rb"
58
+ contents = open("test/helpers/admin/user_helper_test.rb").read
59
+ assert_match(/describe Admin::UserHelper do/m, contents)
60
+ ensure
61
+ FileUtils.rm_r "test/helpers"
62
+ end
63
+
39
64
  end
@@ -4,30 +4,22 @@ require "minitest-rails"
4
4
  require "rails"
5
5
  require "rails/generators"
6
6
 
7
- require "generators/minitest/install/install_generator"
7
+ require "generators/mini_test/install/install_generator"
8
8
 
9
9
  require "fileutils"
10
10
 
11
- class TestInstallGenerator < Minitest::Unit::TestCase
11
+ class TestInstallGenerator < MiniTest::Unit::TestCase
12
12
  Rails::Generators.no_color!
13
13
 
14
14
  def test_install_generator
15
15
  text = capture(:stdout) do
16
- Minitest::Generators::InstallGenerator.start
16
+ MiniTest::Generators::InstallGenerator.start
17
17
  end
18
18
  assert_match(/create test\/minitest_helper.rb/m, text)
19
19
  assert File.exists? "test/minitest_helper.rb"
20
20
  contents = open("test/minitest_helper.rb").read
21
- assert_match(/class Minitest::Rails::Spec/m, contents)
22
- assert_match(/# include Minitest::Rails::Fixtures/m, contents)
23
- assert_match(/class Minitest::Rails::Model/m, contents)
24
- assert_match(/Minitest::Spec.register_spec_type\(Minitest::Rails::Model\) do/m, contents)
25
- assert_match(/class Minitest::Rails::Controller/m, contents)
26
- assert_match(/Minitest::Spec.register_spec_type\(\/Controller\$\/, Minitest::Rails::Controller\)/m, contents)
27
- assert_match(/class Minitest::Rails::Helper/m, contents)
28
- assert_match(/Minitest::Spec.register_spec_type\(\/Helper\$\/, Minitest::Rails::Helper\)/m, contents)
29
- assert_match(/class Minitest::Rails::Mailer/m, contents)
30
- assert_match(/Minitest::Spec.register_spec_type\(Minitest::Rails::Mailer\) do/m, contents)
21
+ assert_match(/require "minitest\/autorun"/m, contents)
22
+ assert_match(/require "minitest\/rails"/m, contents)
31
23
  ensure
32
24
  # TODO: Don"t write the files
33
25
  # I agree, it would be better to mock the file getting written
@@ -4,21 +4,21 @@ require "minitest-rails"
4
4
  require "rails"
5
5
  require "rails/generators"
6
6
 
7
- require "generators/minitest/mailer/mailer_generator"
7
+ require "generators/mini_test/mailer/mailer_generator"
8
8
 
9
9
  require "fileutils"
10
10
 
11
- class TestMailerGenerator < Minitest::Unit::TestCase
11
+ class TestMailerGenerator < MiniTest::Unit::TestCase
12
12
  Rails::Generators.no_color!
13
13
 
14
14
  def test_mailer_generator
15
15
  text = capture(:stdout) do
16
- Minitest::Generators::MailerGenerator.start ["notification"]
16
+ MiniTest::Generators::MailerGenerator.start ["notification"]
17
17
  end
18
18
  assert_match(/create test\/mailers\/notification_test.rb/m, text)
19
19
  assert File.exists? "test/mailers/notification_test.rb"
20
20
  contents = open("test/mailers/notification_test.rb").read
21
- assert_match(/class NotificationTest < Minitest::Rails::Mailer/m, contents)
21
+ assert_match(/class NotificationTest/m, contents)
22
22
  ensure
23
23
  # TODO: Don"t write the files
24
24
  # I agree, it would be better to mock the file getting written
@@ -27,13 +27,12 @@ class TestMailerGenerator < Minitest::Unit::TestCase
27
27
 
28
28
  def test_mailer_generator_spec
29
29
  text = capture(:stdout) do
30
- Minitest::Generators::MailerGenerator.start ["notification", "welcome", "--spec"]
30
+ MiniTest::Generators::MailerGenerator.start ["notification", "welcome", "--spec"]
31
31
  end
32
32
  assert_match(/create test\/mailers\/notification_test.rb/m, text)
33
33
  assert File.exists? "test/mailers/notification_test.rb"
34
34
  contents = open("test/mailers/notification_test.rb").read
35
35
  assert_match(/describe Notification do/m, contents)
36
- assert_match(/it "welcome" do/m, contents)
37
36
  ensure
38
37
  FileUtils.rm_r "test/mailers"
39
38
  end
@@ -1,8 +1,8 @@
1
1
  require "minitest/autorun"
2
2
  require "minitest-rails"
3
3
 
4
- class TestMinitest < Minitest::Unit::TestCase
4
+ class TestMiniTest < MiniTest::Unit::TestCase
5
5
  def test_sanity
6
- assert Minitest::Rails::VERSION
6
+ assert MiniTest::Rails::VERSION
7
7
  end
8
8
  end
@@ -4,37 +4,57 @@ require "minitest-rails"
4
4
  require "rails"
5
5
  require "rails/generators"
6
6
 
7
- require "generators/minitest/model/model_generator"
7
+ require "generators/mini_test/model/model_generator"
8
8
 
9
9
  require "fileutils"
10
10
 
11
- class TestModelGenerator < Minitest::Unit::TestCase
11
+ class TestModelGenerator < MiniTest::Unit::TestCase
12
12
  Rails::Generators.no_color!
13
13
 
14
14
  def test_model_generator
15
15
  text = capture(:stdout) do
16
- Minitest::Generators::ModelGenerator.start ["user"]
16
+ MiniTest::Generators::ModelGenerator.start ["user"]
17
17
  end
18
18
  assert_match(/create test\/models\/user_test.rb/m, text)
19
19
  assert File.exists? "test/models/user_test.rb"
20
20
  contents = open("test/models/user_test.rb").read
21
- assert_match(/class UserTest < Minitest::Rails::Model/m, contents)
21
+ assert_match(/class UserTest/m, contents)
22
22
  ensure
23
23
  # TODO: Don"t write the files
24
24
  # I agree, it would be better to mock the file getting written
25
25
  FileUtils.rm_r "test/models"
26
+ FileUtils.rm_r "test/fixtures"
26
27
  end
27
28
 
28
29
  def test_model_generator_spec
29
30
  text = capture(:stdout) do
30
- Minitest::Generators::ModelGenerator.start ["user", "--spec"]
31
+ MiniTest::Generators::ModelGenerator.start ["user", "--spec"]
31
32
  end
32
33
  assert_match(/create test\/models\/user_test.rb/m, text)
33
34
  assert File.exists? "test/models/user_test.rb"
35
+ assert File.exists? "test/fixtures/users.yml"
34
36
  contents = open("test/models/user_test.rb").read
35
37
  assert_match(/describe User do/m, contents)
36
- assert_match(/subject \{ User.new \}/, contents)
37
- assert_match(/# fixtures :all/, contents)
38
+ ensure
39
+ FileUtils.rm_r "test/models"
40
+ FileUtils.rm_r "test/fixtures"
41
+ end
42
+
43
+ def test_model_generator_fixture
44
+ text = capture(:stdout) do
45
+ MiniTest::Generators::ModelGenerator.start ["user"]
46
+ end
47
+ assert File.exists? "test/fixtures/users.yml"
48
+ ensure
49
+ FileUtils.rm_r "test/models"
50
+ FileUtils.rm_r "test/fixtures"
51
+ end
52
+
53
+ def test_model_generator_no_fixture
54
+ text = capture(:stdout) do
55
+ MiniTest::Generators::ModelGenerator.start ["user", "--skip-fixture"]
56
+ end
57
+ refute File.exists? "test/fixtures/users.yml"
38
58
  ensure
39
59
  FileUtils.rm_r "test/models"
40
60
  end
@@ -4,22 +4,21 @@ require "minitest-rails"
4
4
  require "rails"
5
5
  require "rails/generators"
6
6
 
7
- require "generators/minitest/scaffold/scaffold_generator"
7
+ require "generators/mini_test/scaffold/scaffold_generator"
8
8
 
9
9
  require "fileutils"
10
10
 
11
- class TestScaffoldGenerator < Minitest::Unit::TestCase
11
+ class TestScaffoldGenerator < MiniTest::Unit::TestCase
12
12
  Rails::Generators.no_color!
13
13
 
14
14
  def test_scaffold_generator
15
15
  text = capture(:stdout) do
16
- Minitest::Generators::ScaffoldGenerator.start ["user"]
16
+ MiniTest::Generators::ScaffoldGenerator.start ["user"]
17
17
  end
18
18
  assert_match(/create test\/controllers\/user_controller_test.rb/m, text)
19
19
  assert File.exists? "test/controllers/user_controller_test.rb"
20
20
  contents = open("test/controllers/user_controller_test.rb").read
21
- assert_match(/class UserControllerTest < Minitest::Rails::Controller/m, contents)
22
- assert_match(/def test_index/m, contents)
21
+ assert_match(/class UserControllerTest/m, contents)
23
22
  ensure
24
23
  # TODO: Don"t write the files
25
24
  # I agree, it would be better to mock the file getting written
@@ -28,14 +27,12 @@ class TestScaffoldGenerator < Minitest::Unit::TestCase
28
27
 
29
28
  def test_scaffold_generator_spec
30
29
  text = capture(:stdout) do
31
- Minitest::Generators::ScaffoldGenerator.start ["user", "--spec"]
30
+ MiniTest::Generators::ScaffoldGenerator.start ["user", "--spec"]
32
31
  end
33
32
  assert_match(/create test\/controllers\/user_controller_test.rb/m, text)
34
33
  assert File.exists? "test/controllers/user_controller_test.rb"
35
34
  contents = open("test/controllers/user_controller_test.rb").read
36
35
  assert_match(/describe UserController do/m, contents)
37
- assert_match(/subject \{ UserController \}/m, contents)
38
- assert_match(/it "must get index"/m, contents)
39
36
  ensure
40
37
  FileUtils.rm_r "test/controllers"
41
38
  end