minitest-rails 3.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +5 -0
  3. data/LICENSE +1 -1
  4. data/README.md +94 -0
  5. data/UPDATING.md +31 -0
  6. data/lib/generators/minitest.rb +17 -4
  7. data/lib/generators/minitest/controller/controller_generator.rb +6 -9
  8. data/lib/generators/minitest/controller/templates/{controller_spec.rb → functional_spec.rb.tt} +4 -4
  9. data/lib/generators/minitest/controller/templates/{controller_test.rb → functional_test.rb.tt} +3 -3
  10. data/lib/generators/minitest/generator/generator_generator.rb +3 -8
  11. data/lib/generators/minitest/generator/templates/{generator_spec.rb → generator_spec.rb.tt} +2 -2
  12. data/lib/generators/minitest/generator/templates/{generator_test.rb → generator_test.rb.tt} +1 -2
  13. data/lib/generators/minitest/helper/helper_generator.rb +5 -3
  14. data/lib/generators/minitest/install/install_generator.rb +19 -8
  15. data/lib/generators/minitest/install/templates/test/test_helper.rb.tt +16 -0
  16. data/lib/generators/minitest/integration/integration_generator.rb +12 -9
  17. data/lib/generators/minitest/integration/templates/integration_spec.rb.tt +9 -0
  18. data/lib/generators/minitest/integration/templates/integration_test.rb.tt +9 -0
  19. data/lib/generators/minitest/job/job_generator.rb +13 -10
  20. data/lib/generators/minitest/job/templates/unit_spec.rb.tt +9 -0
  21. data/lib/generators/minitest/job/templates/{job_test.rb → unit_test.rb.tt} +3 -3
  22. data/lib/generators/minitest/mailer/mailer_generator.rb +8 -11
  23. data/lib/generators/minitest/mailer/templates/functional_spec.rb.tt +21 -0
  24. data/lib/generators/minitest/mailer/templates/{mailer_test.rb → functional_test.rb.tt} +3 -3
  25. data/lib/generators/minitest/mailer/templates/{preview.rb → preview.rb.tt} +0 -0
  26. data/lib/generators/minitest/model/model_generator.rb +9 -12
  27. data/lib/generators/minitest/model/templates/{fixtures.yml → fixtures.yml.tt} +3 -3
  28. data/lib/generators/minitest/model/templates/unit_spec.rb.tt +9 -0
  29. data/lib/generators/minitest/model/templates/unit_test.rb.tt +9 -0
  30. data/lib/generators/minitest/plugin/plugin_generator.rb +15 -0
  31. data/lib/generators/minitest/plugin/templates/%file_name%_test.rb.tt +15 -0
  32. data/lib/generators/minitest/plugin/templates/test_helper.rb +2 -0
  33. data/lib/generators/minitest/scaffold/scaffold_generator.rb +21 -23
  34. data/lib/generators/minitest/scaffold/templates/api_functional_spec.rb.tt +42 -0
  35. data/lib/generators/minitest/scaffold/templates/api_functional_test.rb.tt +44 -0
  36. data/lib/generators/minitest/scaffold/templates/functional_spec.rb.tt +52 -0
  37. data/lib/generators/minitest/scaffold/templates/{controller_test.rb → functional_test.rb.tt} +16 -16
  38. data/lib/minitest/rails.rb +45 -108
  39. data/lib/minitest/rails/assertions.rb +5 -906
  40. data/lib/minitest/rails/assertions/action_dispatch.rb +356 -0
  41. data/lib/minitest/rails/assertions/action_mailer.rb +115 -0
  42. data/lib/minitest/rails/assertions/action_view.rb +356 -0
  43. data/lib/minitest/rails/assertions/active_job.rb +151 -0
  44. data/lib/minitest/rails/assertions/active_support.rb +29 -0
  45. data/lib/minitest/rails/expectations.rb +4 -565
  46. data/lib/minitest/rails/expectations/action_dispatch.rb +307 -0
  47. data/lib/minitest/rails/expectations/action_mailer.rb +136 -0
  48. data/lib/minitest/rails/expectations/active_job.rb +182 -0
  49. data/lib/minitest/rails/expectations/active_support.rb +42 -0
  50. data/lib/minitest/rails/railtie.rb +3 -2
  51. data/lib/minitest/rails/version.rb +1 -1
  52. metadata +72 -89
  53. data/.autotest +0 -23
  54. data/.gemtest +0 -0
  55. data/.travis.yml +0 -25
  56. data/CHANGELOG.rdoc +0 -223
  57. data/Gemfile +0 -7
  58. data/Manifest.txt +0 -76
  59. data/README.rdoc +0 -110
  60. data/Rakefile +0 -30
  61. data/gemfiles/5.0.gemfile +0 -5
  62. data/gemfiles/head.gemfile +0 -5
  63. data/lib/generators/.document +0 -0
  64. data/lib/generators/minitest/install/templates/test_helper.rb +0 -19
  65. data/lib/generators/minitest/integration/templates/integration_spec.rb +0 -8
  66. data/lib/generators/minitest/integration/templates/integration_test.rb +0 -7
  67. data/lib/generators/minitest/job/templates/job_spec.rb +0 -9
  68. data/lib/generators/minitest/mailer/templates/mailer_spec.rb +0 -20
  69. data/lib/generators/minitest/model/templates/model_spec.rb +0 -11
  70. data/lib/generators/minitest/model/templates/model_test.rb +0 -13
  71. data/lib/generators/minitest/scaffold/templates/api_controller_spec.rb +0 -42
  72. data/lib/generators/minitest/scaffold/templates/api_controller_test.rb +0 -44
  73. data/lib/generators/minitest/scaffold/templates/controller_spec.rb +0 -52
  74. data/lib/minitest/rails/constant_lookup.rb +0 -52
  75. data/lib/minitest/rails/controller.rb +0 -14
  76. data/minitest-rails.gemspec +0 -48
  77. data/tasks/test.rake +0 -29
  78. data/test/generators/test_controller_generator.rb +0 -58
  79. data/test/generators/test_generator_generator.rb +0 -58
  80. data/test/generators/test_helper_generator.rb +0 -34
  81. data/test/generators/test_install_generator.rb +0 -27
  82. data/test/generators/test_job_generator.rb +0 -45
  83. data/test/generators/test_mailer_generator.rb +0 -42
  84. data/test/generators/test_model_generator.rb +0 -80
  85. data/test/generators/test_scaffold_generator.rb +0 -26
  86. data/test/helper.rb +0 -93
  87. data/test/rails/action_dispatch/test_assertions.rb +0 -39
  88. data/test/rails/action_dispatch/test_expectations.rb +0 -39
  89. data/test/rails/action_dispatch/test_spec_type.rb +0 -49
  90. data/test/rails/action_mailer/test_mailers.rb +0 -109
  91. data/test/rails/action_mailer/test_spec_type.rb +0 -47
  92. data/test/rails/action_view/test_helpers.rb +0 -73
  93. data/test/rails/action_view/test_spec_type.rb +0 -58
  94. data/test/rails/active_job/test_assertions.rb +0 -46
  95. data/test/rails/active_job/test_expectations.rb +0 -55
  96. data/test/rails/active_job/test_spec_type.rb +0 -49
  97. data/test/rails/active_support/test_assertions.rb +0 -31
  98. data/test/rails/active_support/test_expectations.rb +0 -21
  99. data/test/rails/active_support/test_spec_type.rb +0 -28
  100. data/test/rails/generators/test_spec_type.rb +0 -45
  101. data/test/rails/test_constant_lookup.rb +0 -58
  102. data/test/test_sanity.rb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b4d24ef4761098d8b1b988493155fb73ba0c480a
4
- data.tar.gz: a6c181821e2331d20f05698fb632650c61d50db3
2
+ SHA256:
3
+ metadata.gz: 921cfaa469ddecc9a13aa20c02dc2fd9bffa5eafa5bf605713604d95b0e1b9b1
4
+ data.tar.gz: c431d89abcec70990467b4f756f2fdbf2d057df7c9e1ebb717bb08100e3bc936
5
5
  SHA512:
6
- metadata.gz: 25066c06f3a6097e3a026b8576f3dc69a1b38988f37640f4ecb59868775d54ebfa67e7ff5150b74b12cd60fa28d1f22c17f236bbffbf7ad087c4a07937200892
7
- data.tar.gz: 567cda05348d00933ff39b9175011b58315a83ac4c7959df168ed8264c7bce9d2b54fc1d46b086a742268f007c99fb06a0678ad86cf7e209837206a96f7ab1c2
6
+ metadata.gz: bff8982d4743945a7795de1db69a27e3335fa4406b3a83d16ad6b6654005efdd6412982c093d3d7cfab366b045d03def59e00d411aa42717e85cf89cf0783db6
7
+ data.tar.gz: 6960f3757941914a3667c3f6e588305c3622f05a646216c4da5904ee4794f549fe32caf4e3d088e9ae33fe41ddc7d8a7d4b84fd6cb5cf0a7e7b04d20fa59a336
@@ -0,0 +1,5 @@
1
+ # Changes
2
+
3
+ ### 5.0.0 / upcoming...
4
+
5
+ * ...
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014 Mike Moore
1
+ Copyright (c) 2019 Mike Moore
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -0,0 +1,94 @@
1
+ # minitest-rails
2
+
3
+ Minitest integration for Rails 5.0
4
+
5
+ [![Build Status](https://secure.travis-ci.org/blowmage/minitest-rails.png)](http://travis-ci.org/blowmage/minitest-rails)
6
+ [![Code Climate](https://codeclimate.com/github/blowmage/minitest-rails.png)](https://codeclimate.com/github/blowmage/minitest-rails)
7
+
8
+ ## Install
9
+
10
+ `gem install minitest-rails`
11
+
12
+ This installs the following gems:
13
+
14
+ * `minitest`
15
+
16
+ ## Configure
17
+
18
+ Create a new rails app:
19
+
20
+ `rails new MyApp`
21
+
22
+ ### Update Gemfile
23
+
24
+ This version is for Rails 5.0 applications. Update your application to use the
25
+ gem by adding the following to your Gemfile:
26
+
27
+ ```ruby
28
+ gem "minitest-rails", "~> 5.0.0"
29
+ ```
30
+
31
+ ### Installing
32
+
33
+ Next run the installation generator with the following:
34
+
35
+ `rails generate minitest:install`
36
+
37
+ This will add the `test_helper.rb` file to the `test` directory.
38
+
39
+ ## Usage
40
+
41
+ This project aims to enable Minitest within the Rails TestCase classes.
42
+ Your test will continue to inherit from `ActiveSupport::TestCase`, which will now support the spec DSL.
43
+ You can generate test files using the `Minitest::Spec` DSL with the standard model, controller, resource, and other generators:
44
+
45
+ `rails generate model User`
46
+
47
+ And you can specify generating the tests without the `Minitest::Spec` DSL on any of the generators by providing the `--no-spec` option:
48
+
49
+ `rails generate model User --no-spec`
50
+
51
+ And you can specify not generating the fixture for a model by providing the `--skip-fixture` option:
52
+
53
+ `rails generate model User --skip-fixture`
54
+
55
+ You can also set these as defaults by adding the following to the `config/application.rb` file:
56
+
57
+ ```ruby
58
+ config.generators do |g|
59
+ g.test_framework :minitest, spec: false, fixture: false
60
+ end
61
+ ```
62
+
63
+ ## Running Tests
64
+
65
+ To run your tests use the `rails test` that ship with rails.
66
+
67
+ ## Get Involved
68
+
69
+ Join the mailing list to get help or offer suggestions.
70
+
71
+ https://groups.google.com/group/minitest-rails
72
+
73
+ ## License
74
+
75
+ Copyright (c) 2019 Mike Moore
76
+
77
+ Permission is hereby granted, free of charge, to any person obtaining
78
+ a copy of this software and associated documentation files (the
79
+ "Software"), to deal in the Software without restriction, including
80
+ without limitation the rights to use, copy, modify, merge, publish,
81
+ distribute, sublicense, and/or sell copies of the Software, and to
82
+ permit persons to whom the Software is furnished to do so, subject to
83
+ the following conditions:
84
+
85
+ The above copyright notice and this permission notice shall be
86
+ included in all copies or substantial portions of the Software.
87
+
88
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
89
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
90
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
91
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
92
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
93
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
94
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,31 @@
1
+ # Updating from previous versions
2
+
3
+ If you are upgrading from previous versions, then there are some subtle changes that you should be aware of. Do you see a change that is not listed in this document? Then please [open an issue](https://github.com/blowmage/minitest-rails/issues/new) to add it.
4
+
5
+ ## Spec DSL
6
+
7
+ The `describe` block should be passed the actual constant and not a string of the constant's name. This works:
8
+
9
+ ```ruby
10
+ describe WidgetsController do
11
+ ```
12
+
13
+ But this does not:
14
+
15
+ ```ruby
16
+ describe "WidgetsController" do
17
+ ```
18
+
19
+ If you want to pass a string, then you must provide an additional description to tell the Spec DSL what test class to use:
20
+
21
+ ```ruby
22
+ describe "WidgetsController", :controller do
23
+ ```
24
+
25
+ ## Expectations
26
+
27
+ The signature for the expectation `must_change` has changed from earlier versions of minitest-rails. This is because the expectation used to refer to the `assert_difference` assertion, but not refers to the `assert_changes` assertion added in Rails 5.1. The expectation for the `assert_difference` assertion is now `must_differ`.
28
+
29
+ ## Versioning
30
+
31
+ The minitest-rails gem now follows Rails versioning. This means minitest-rails 6.0.x works for rails 6.0.x, and minitest-rails 6.1.x will work for rails 6.1.x.
@@ -1,17 +1,30 @@
1
- require 'rails/generators/named_base'
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators/named_base"
2
4
 
3
5
  module Minitest
4
6
  module Generators
5
7
  class Base < ::Rails::Generators::NamedBase #:nodoc:
6
8
  class_option :spec, type: :boolean, default: true,
7
9
  desc: "Use Minitest::Spec DSL"
10
+ class_option :spec_expectation_monad, type: :string, default: "value",
11
+ desc: "Spec DSL's expectation value mondad (options: value, expect, _)"
8
12
 
9
13
  def self.default_source_root
10
- File.expand_path(File.join(File.dirname(__FILE__), 'minitest', generator_name, 'templates'))
14
+ File.expand_path(File.join(File.dirname(__FILE__), "minitest", generator_name, "templates"))
11
15
  end
12
16
 
13
- def show_helper
14
- "#{singular_table_name}_url(#{singular_table_name})"
17
+ def test_file_type
18
+ return "spec" if options[:spec]
19
+
20
+ "test"
21
+ end
22
+
23
+ def spec_expectation_monad
24
+ monad = options[:spec_expectation_monad]
25
+ return monad if %w[value expect _].include? monad
26
+
27
+ "value"
15
28
  end
16
29
  end
17
30
  end
@@ -1,18 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "generators/minitest"
2
4
 
3
- module Minitest
4
- module Generators
5
- class ControllerGenerator < Base
5
+ module Minitest # :nodoc:
6
+ module Generators # :nodoc:
7
+ class ControllerGenerator < Base # :nodoc:
6
8
  argument :actions, type: :array, default: [], banner: "action action"
7
9
  check_class_collision suffix: "ControllerTest"
8
10
 
9
11
  def create_test_files
10
- if options[:spec]
11
- template_file = "controller_spec.rb"
12
- else
13
- template_file = "controller_test.rb"
14
- end
15
- template template_file,
12
+ template "functional_#{test_file_type}.rb",
16
13
  File.join("test/controllers", class_path, "#{file_name}_controller_test.rb")
17
14
  end
18
15
  end
@@ -7,14 +7,14 @@ describe <%= class_name %>Controller do
7
7
 
8
8
  <% end -%>
9
9
  <% if actions.empty? -%>
10
- # it "must be a real test" do
11
- # flunk "Need real tests"
10
+ # it "does a thing" do
11
+ # <%= spec_expectation_monad %>(1+1).must_equal 2
12
12
  # end
13
13
  <% else -%>
14
14
  <% actions.each do |action| -%>
15
- it "should get <%= action %>" do
15
+ it "must get <%= action %>" do
16
16
  get <%= url_helper_prefix %>_<%= action %>_url
17
- value(response).must_be :success?
17
+ must_respond_with :success
18
18
  end
19
19
 
20
20
  <% end -%>
@@ -7,12 +7,12 @@ class <%= class_name %>ControllerTest < ActionDispatch::IntegrationTest
7
7
 
8
8
  <% end -%>
9
9
  <% if actions.empty? -%>
10
- # def test_sanity
11
- # flunk "Need real tests"
10
+ # def test_truth
11
+ # assert true
12
12
  # end
13
13
  <% else -%>
14
14
  <% actions.each do |action| -%>
15
- def test_<%= action %>
15
+ def test_get_<%= action %>
16
16
  get <%= url_helper_prefix %>_<%= action %>_url
17
17
  assert_response :success
18
18
  end
@@ -2,22 +2,17 @@ require "generators/minitest"
2
2
 
3
3
  module Minitest
4
4
  module Generators
5
- class GeneratorGenerator < Base
5
+ class GeneratorGenerator < Base # :nodoc:
6
6
  check_class_collision suffix: "GeneratorTest"
7
7
 
8
8
  class_option :namespace, type: :boolean, default: true,
9
9
  desc: "Namespace generator under lib/generators/name"
10
10
 
11
11
  def create_generator_files
12
- if options[:spec]
13
- template_file = "generator_spec.rb"
14
- else
15
- template_file = "generator_test.rb"
16
- end
17
- template template_file, File.join("test/lib/generators", class_path, "#{file_name}_generator_test.rb")
12
+ template "generator_#{test_file_type}.rb", File.join("test/lib/generators", class_path, "#{file_name}_generator_test.rb")
18
13
  end
19
14
 
20
- protected
15
+ private
21
16
 
22
17
  def generator_path
23
18
  if options[:namespace]
@@ -3,11 +3,11 @@ require "<%= generator_path %>"
3
3
 
4
4
  <% module_namespacing do -%>
5
5
  describe <%= class_name %>Generator do
6
+ #tests <%= class_name %>Generator
6
7
  destination Rails.root.join("tmp/generators")
7
8
  setup :prepare_destination
8
9
 
9
- # it "generator runs without errors" do
10
- # # No error raised? It passes.
10
+ # it "runs without errors" do
11
11
  # run_generator ["arguments"]
12
12
  # end
13
13
  end
@@ -7,8 +7,7 @@ class <%= class_name %>GeneratorTest < Rails::Generators::TestCase
7
7
  destination Rails.root.join("tmp/generators")
8
8
  setup :prepare_destination
9
9
 
10
- # def test_generator_runs
11
- # # No error raised? It passes.
10
+ # def test_generator_runs_without_errors
12
11
  # run_generator ["arguments"]
13
12
  # end
14
13
  end
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "generators/minitest"
2
4
 
3
- module Minitest
4
- module Generators
5
- class HelperGenerator < Base
5
+ module Minitest # :nodoc:
6
+ module Generators # :nodoc:
7
+ class HelperGenerator < Base # :nodoc:
6
8
  # Rails does not generate anything here.
7
9
  end
8
10
  end
@@ -1,21 +1,32 @@
1
- require 'rails/generators'
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+ require "rails/generators/app_base"
2
5
 
3
6
  module Minitest
4
7
  module Generators
5
- class InstallGenerator < ::Rails::Generators::Base
8
+ class InstallGenerator < ::Rails::Generators::AppBase
6
9
  class_option :skip_active_record, type: :boolean, default: false, desc: "Skip Active Record files"
7
10
 
8
- desc <<DESC
9
- Description:
10
- Copy minitest files to your application.
11
- DESC
11
+ desc <<~DESC
12
+ Description:
13
+ Copy minitest files to your application.
14
+ DESC
12
15
 
13
16
  def self.source_root
14
- @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
17
+ @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), "templates"))
15
18
  end
16
19
 
17
20
  def copy_minitest_files
18
- template 'test_helper.rb', File.join("test", "test_helper.rb")
21
+ empty_directory_with_keep_file "test/fixtures"
22
+ empty_directory_with_keep_file "test/fixtures/files"
23
+ empty_directory_with_keep_file "test/controllers"
24
+ empty_directory_with_keep_file "test/mailers"
25
+ empty_directory_with_keep_file "test/models"
26
+ empty_directory_with_keep_file "test/helpers"
27
+ empty_directory_with_keep_file "test/integration"
28
+
29
+ template "test/test_helper.rb"
19
30
  end
20
31
  end
21
32
  end
@@ -0,0 +1,16 @@
1
+ ENV["RAILS_ENV"] ||= "test"
2
+ require_relative "../config/environment"
3
+ require "rails/test_help"
4
+ require "minitest/rails"
5
+
6
+ # Consider setting MT_NO_EXPECTATIONS to not add expectations to Object.
7
+ # ENV["MT_NO_EXPECTATIONS"] = true
8
+
9
+ class ActiveSupport::TestCase
10
+ <% unless options[:skip_active_record] -%>
11
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
12
+ fixtures :all
13
+
14
+ <% end -%>
15
+ # Add more helper methods to be used by all tests here...
16
+ end
@@ -1,17 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "generators/minitest"
2
4
 
3
- module Minitest
4
- module Generators
5
- class IntegrationGenerator < Base
5
+ module Minitest # :nodoc:
6
+ module Generators # :nodoc:
7
+ class IntegrationGenerator < Base # :nodoc:
6
8
  check_class_collision suffix: "Test"
7
9
 
8
10
  def create_test_files
9
- if options[:spec]
10
- template_file = "integration_spec.rb"
11
- else
12
- template_file = "integration_test.rb"
13
- end
14
- template template_file, File.join("test/integration", class_path, "#{file_name}_test.rb")
11
+ template "integration_#{test_file_type}.rb", File.join("test/integration", class_path, "#{file_name}_test.rb")
12
+ end
13
+
14
+ private
15
+
16
+ def file_name
17
+ @_file_name ||= super.sub(/_test\z/i, "")
15
18
  end
16
19
  end
17
20
  end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ <% module_namespacing do -%>
4
+ describe "<%= human_name %>", :integration do
5
+ # it "does a thing" do
6
+ # <%= spec_expectation_monad %>(1+1).must_equal 2
7
+ # end
8
+ end
9
+ <% end -%>
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ <% module_namespacing do -%>
4
+ class <%= class_name %>Test < ActionDispatch::IntegrationTest
5
+ # def test_truth
6
+ # assert true
7
+ # end
8
+ end
9
+ <% end -%>
@@ -1,17 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "generators/minitest"
2
4
 
3
- module Minitest
4
- module Generators
5
- class JobGenerator < Base
5
+ module Minitest # :nodoc:
6
+ module Generators # :nodoc:
7
+ class JobGenerator < Base # :nodoc:
6
8
  check_class_collision suffix: "JobTest"
7
9
 
8
- def create_test_files
9
- if options[:spec]
10
- template_file = "job_spec.rb"
11
- else
12
- template_file = "job_test.rb"
13
- end
14
- template template_file, File.join("test/jobs", class_path, "#{file_name}_job_test.rb")
10
+ def create_test_file
11
+ template "unit_#{test_file_type}.rb", File.join("test/jobs", class_path, "#{file_name}_job_test.rb")
12
+ end
13
+
14
+ private
15
+
16
+ def file_name
17
+ @_file_name ||= super.sub(/_job\z/i, "")
15
18
  end
16
19
  end
17
20
  end