minitest-spec-rails 5.0.0 → 7.2.0

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +36 -0
  3. data/.gitignore +1 -2
  4. data/.rubocop.yml +26 -0
  5. data/Appraisals +13 -1
  6. data/CHANGELOG.md +130 -46
  7. data/CODE_OF_CONDUCT.md +31 -0
  8. data/Gemfile +0 -4
  9. data/README.md +63 -67
  10. data/Rakefile +6 -14
  11. data/gemfiles/rails_v6.0.x.gemfile +8 -0
  12. data/gemfiles/rails_v6.0.x.gemfile.lock +172 -0
  13. data/gemfiles/rails_v6.1.x.gemfile +8 -0
  14. data/gemfiles/rails_v6.1.x.gemfile.lock +175 -0
  15. data/gemfiles/rails_v7.0.x.gemfile +8 -0
  16. data/gemfiles/rails_v7.0.x.gemfile.lock +174 -0
  17. data/gemfiles/rails_v7.1.x.gemfile +9 -0
  18. data/lib/minitest-spec-rails/dsl.rb +6 -10
  19. data/lib/minitest-spec-rails/init/action_cable.rb +28 -0
  20. data/lib/minitest-spec-rails/init/action_controller.rb +3 -7
  21. data/lib/minitest-spec-rails/init/action_dispatch.rb +1 -3
  22. data/lib/minitest-spec-rails/init/action_mailer.rb +2 -7
  23. data/lib/minitest-spec-rails/init/action_view.rb +1 -5
  24. data/lib/minitest-spec-rails/init/active_job.rb +24 -0
  25. data/lib/minitest-spec-rails/init/active_support.rb +8 -11
  26. data/lib/minitest-spec-rails/init/mini_shoulda.rb +2 -6
  27. data/lib/minitest-spec-rails/parallelize.rb +30 -0
  28. data/lib/minitest-spec-rails/railtie.rb +24 -17
  29. data/lib/minitest-spec-rails/version.rb +1 -1
  30. data/minitest-spec-rails.gemspec +10 -9
  31. data/test/cases/action_cable_test.rb +38 -0
  32. data/test/cases/action_controller_test.rb +13 -16
  33. data/test/cases/action_dispatch_test.rb +18 -21
  34. data/test/cases/action_mailer_test.rb +13 -16
  35. data/test/cases/action_view_test.rb +17 -20
  36. data/test/cases/active_job_test.rb +46 -0
  37. data/test/cases/active_support_test.rb +28 -18
  38. data/test/cases/mini_shoulda_test.rb +6 -11
  39. data/test/dummy_app/app/assets/config/manifest.js +1 -0
  40. data/test/dummy_app/app/channels/application_cable/channel.rb +4 -0
  41. data/test/dummy_app/app/channels/application_cable/connection.rb +4 -0
  42. data/test/dummy_app/app/controllers/application_controller.rb +1 -3
  43. data/test/dummy_app/app/controllers/users_controller.rb +1 -3
  44. data/test/dummy_app/app/helpers/application_helper.rb +0 -1
  45. data/test/dummy_app/app/helpers/foos_helper.rb +3 -1
  46. data/test/dummy_app/app/helpers/users_helper.rb +1 -3
  47. data/test/dummy_app/app/mailers/user_mailer.rb +2 -4
  48. data/test/dummy_app/app/models/post.rb +0 -3
  49. data/test/dummy_app/app/models/user.rb +0 -3
  50. data/test/dummy_app/config/routes.rb +1 -1
  51. data/test/dummy_app/config/storage.yml +34 -0
  52. data/test/dummy_app/init.rb +18 -21
  53. data/test/dummy_app/tmp/development_secret.txt +1 -0
  54. data/test/dummy_tests/application_controller_test.rb +19 -25
  55. data/test/dummy_tests/{foo_helper_test.rb → foos_helper_test.rb} +2 -5
  56. data/test/dummy_tests/integration_test.rb +5 -11
  57. data/test/dummy_tests/library_test.rb +3 -3
  58. data/test/dummy_tests/special_users_controller_test.rb +10 -0
  59. data/test/dummy_tests/user_mailer_test.rb +24 -26
  60. data/test/dummy_tests/user_test.rb +15 -21
  61. data/test/dummy_tests/users_controller_test.rb +8 -4
  62. data/test/dummy_tests/users_helper_test.rb +15 -21
  63. data/test/support/shared_test_case_behavior.rb +4 -7
  64. data/test/test_helper.rb +1 -5
  65. data/test/test_helper_dummy.rb +5 -7
  66. metadata +87 -74
  67. data/.travis.yml +0 -11
  68. data/Guardfile +0 -7
  69. data/test/support/minitest.rb +0 -1
@@ -1,27 +1,22 @@
1
1
  module MiniTestSpecRails
2
2
  module Init
3
3
  module ActionMailerBehavior
4
-
5
4
  extend ActiveSupport::Concern
6
5
 
7
6
  included do
8
- register_spec_type(self) { |desc| Class === desc && desc < ActionMailer::Base }
7
+ register_spec_type(self) { |desc| desc.is_a?(Class) && desc < ActionMailer::Base }
9
8
  register_spec_type(/Mailer( ?Test)?\z/, self)
10
- register_spec_type(self) { |desc| Class === desc && desc < self }
9
+ register_spec_type(self) { |desc| desc.is_a?(Class) && desc < self }
11
10
  extend Descriptions
12
11
  end
13
12
 
14
13
  module Descriptions
15
-
16
14
  def described_class
17
15
  determine_default_mailer(name)
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
23
19
  end
24
20
  end
25
21
 
26
22
  ActionMailer::TestCase.send :include, MiniTestSpecRails::Init::ActionMailerBehavior
27
-
@@ -1,24 +1,20 @@
1
1
  module MiniTestSpecRails
2
2
  module Init
3
3
  module ActionViewBehavior
4
-
5
4
  extend ActiveSupport::Concern
6
5
 
7
6
  included do
8
7
  class_attribute :_helper_class
9
8
  register_spec_type(/(Helper|View)( ?Test)?\z/, self)
10
- register_spec_type(self) { |desc| Class === desc && desc < self }
9
+ register_spec_type(self) { |desc| desc.is_a?(Class) && desc < self }
11
10
  extend Descriptions
12
11
  end
13
12
 
14
13
  module Descriptions
15
-
16
14
  def described_class
17
15
  determine_default_helper_class(name)
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
23
19
  end
24
20
  end
@@ -0,0 +1,24 @@
1
+ module MiniTestSpecRails
2
+ module Init
3
+ module ActiveJobBehavior
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ register_spec_type(self) { |desc| desc.is_a?(Class) && desc < ActiveJob::Base }
8
+ register_spec_type(/Job( ?Test)?\z/, self)
9
+ register_spec_type(self) { |desc| desc.is_a?(Class) && desc < self }
10
+ extend Descriptions
11
+ end
12
+
13
+ module Descriptions
14
+ def described_class
15
+ determine_constant_from_test_name(name) do |constant|
16
+ constant.is_a?(Class) && constant < ActiveJob::Base
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ ActiveJob::TestCase.send :include, MiniTestSpecRails::Init::ActiveJobBehavior
@@ -1,33 +1,30 @@
1
1
  module MiniTestSpecRails
2
2
  module Init
3
3
  module ActiveSupportBehavior
4
-
5
4
  extend ActiveSupport::Concern
6
5
 
7
6
  included do
8
- singleton_class.class_eval { remove_method :describe }
9
- extend MiniTest::Spec::DSL
7
+ extend Minitest::Spec::DSL
10
8
  include MiniTestSpecRails::DSL
11
9
  include ActiveSupport::Testing::ConstantLookup
12
10
  extend Descriptions
13
- register_spec_type(self) { |desc| Class === desc }
11
+ register_spec_type(self) { |desc| desc.is_a?(Class) }
14
12
  end
15
13
 
16
14
  module Descriptions
17
-
18
15
  def described_class
19
16
  determine_constant_from_test_name(name) do |constant|
20
- Class === constant
17
+ constant.is_a?(Class)
21
18
  end
22
19
  end
23
-
24
20
  end
25
21
 
26
- def initialize(*args)
27
- Thread.current[:current_spec] = self
28
- super
22
+ if Minitest::VERSION < '5.3.3'
23
+ def initialize(*args)
24
+ Thread.current[:current_spec] = self
25
+ super
26
+ end
29
27
  end
30
-
31
28
  end
32
29
  end
33
30
  end
@@ -1,25 +1,21 @@
1
1
  module MiniTestSpecRails
2
2
  module Init
3
3
  module MiniShouldaBehavior
4
-
5
4
  extend ActiveSupport::Concern
6
5
 
7
6
  included do
8
7
  class << self
9
- alias :context :describe
10
- alias :should :it
8
+ alias_method :context, :describe
9
+ alias_method :should, :it
11
10
  end
12
11
  extend ClassMethods
13
12
  end
14
13
 
15
14
  module ClassMethods
16
-
17
15
  def should_eventually(desc)
18
16
  it("should eventually #{desc}") { skip("Should eventually #{desc}") }
19
17
  end
20
-
21
18
  end
22
-
23
19
  end
24
20
  end
25
21
  end
@@ -0,0 +1,30 @@
1
+
2
+ # HACK: stolen and altered from https://github.com/blowmage/minitest-rails/pull/218/files
3
+ # Which was referenced in https://github.com/metaskills/minitest-spec-rails/issues/94
4
+
5
+ module MiniTestSpecRails
6
+ ##
7
+ # This module is a placeholder for all the Test classes created using the
8
+ # spec DSL. Normally all classes are created but not assigned to a constant.
9
+ # This module is where constants will be created for these classes.
10
+ module SpecTests #:nodoc:
11
+ end
12
+ end
13
+
14
+ module Kernel #:nodoc:
15
+ alias describe_before_minitest_spec_constant_fix describe
16
+ private :describe_before_minitest_spec_constant_fix
17
+ def describe *args, &block
18
+ cls = describe_before_minitest_spec_constant_fix(*args, &block)
19
+ cls_const = "Test__#{cls.name.to_s.split(/\W/).reject(&:empty?).join('_'.freeze)}"
20
+ if block.source_location
21
+ source_path, line_num = block.source_location
22
+ source_path = Pathname.new(File.expand_path(source_path)).relative_path_from(Rails.root).to_s
23
+ source_path = source_path.split(/\W/).reject(&:empty?).join("_".freeze)
24
+ cls_const += "__#{source_path}__#{line_num}"
25
+ end
26
+ cls_const += "_1" while MiniTestSpecRails::SpecTests.const_defined? cls_const
27
+ MiniTestSpecRails::SpecTests.const_set cls_const, cls
28
+ cls
29
+ end
30
+ end
@@ -1,30 +1,37 @@
1
1
  module MiniTestSpecRails
2
2
  class Railtie < ::Rails::Railtie
3
-
4
3
  config.minitest_spec_rails = ActiveSupport::OrderedOptions.new
5
4
  config.minitest_spec_rails.mini_shoulda = false
6
-
7
- config.before_initialize do |app|
8
- if Rails.env.test?
5
+
6
+ config.before_initialize do |_app|
7
+ require 'active_support'
8
+ require 'minitest-spec-rails/init/active_support'
9
+ require 'minitest-spec-rails/parallelize'
10
+ ActiveSupport.on_load(:action_cable) do
11
+ require 'minitest-spec-rails/init/action_cable'
12
+ end
13
+ ActiveSupport.on_load(:action_controller) do
14
+ require 'minitest-spec-rails/init/action_controller'
15
+ require 'minitest-spec-rails/init/action_dispatch'
16
+ end
17
+ ActiveSupport.on_load(:action_mailer) do
18
+ require 'minitest-spec-rails/init/action_mailer'
19
+ end
20
+ ActiveSupport.on_load(:active_job) do
21
+ require 'minitest-spec-rails/init/active_job'
22
+ end
23
+ end
24
+
25
+ initializer 'minitest-spec-rails.action_view', after: 'action_view.setup_action_pack', group: :all do |_app|
26
+ Rails.application.config.to_prepare do
9
27
  ActiveSupport.on_load(:action_view) do
10
28
  require 'minitest-spec-rails/init/action_view'
11
29
  end
12
- ActiveSupport.on_load(:action_controller) do
13
- require 'minitest-spec-rails/init/action_controller'
14
- require 'minitest-spec-rails/init/action_dispatch'
15
- end
16
- ActiveSupport.on_load(:action_mailer) do
17
- require 'minitest-spec-rails/init/action_mailer'
18
- end
19
30
  end
20
31
  end
21
32
 
22
- initializer 'minitest-spec-rails.after.load_active_support', :after => :load_active_support, :group => :all do |app|
23
- if Rails.env.test?
24
- require 'minitest-spec-rails/init/active_support'
25
- require 'minitest-spec-rails/init/mini_shoulda' if app.config.minitest_spec_rails.mini_shoulda
26
- end
33
+ initializer 'minitest-spec-rails.mini_shoulda', group: :all do |app|
34
+ require 'minitest-spec-rails/init/mini_shoulda' if app.config.minitest_spec_rails.mini_shoulda
27
35
  end
28
-
29
36
  end
30
37
  end
@@ -1,3 +1,3 @@
1
1
  module MiniTestSpecRails
2
- VERSION = "5.0.0"
2
+ VERSION = '7.2.0'.freeze
3
3
  end
@@ -1,6 +1,5 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "minitest-spec-rails/version"
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
2
+ require 'minitest-spec-rails/version'
4
3
 
5
4
  Gem::Specification.new do |gem|
6
5
  gem.name = 'minitest-spec-rails'
@@ -9,17 +8,19 @@ Gem::Specification.new do |gem|
9
8
  gem.authors = ['Ken Collins']
10
9
  gem.email = ['ken@metaskills.net']
11
10
  gem.homepage = 'http://github.com/metaskills/minitest-spec-rails'
12
- gem.summary = 'Make Rails Use MiniTest::Spec!'
13
- gem.description = 'The minitest-spec-rails gem makes it easy to use the MiniTest::Spec DSL within your existing Rails 3 or 4 test suite.'
11
+ gem.summary = 'Make Rails Use Minitest::Spec!'
12
+ gem.description = 'The minitest-spec-rails gem makes it easy to use the \
13
+ Minitest::Spec DSL within your existing Rails test suite.'
14
14
  gem.license = 'MIT'
15
15
  gem.files = `git ls-files`.split("\n")
16
16
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
18
18
  gem.require_paths = ['lib']
19
- gem.add_runtime_dependency 'minitest', '~> 5.0'
20
- gem.add_runtime_dependency 'rails', '>= 4.1.0.beta', '< 5.0'
19
+ gem.add_runtime_dependency 'minitest', '>= 5.0'
20
+ gem.add_runtime_dependency 'railties', '>= 4.1'
21
21
  gem.add_development_dependency 'appraisal'
22
- gem.add_development_dependency 'guard-minitest'
22
+ gem.add_development_dependency 'minitest-focus'
23
+ gem.add_development_dependency 'pry'
23
24
  gem.add_development_dependency 'rake'
24
25
  gem.add_development_dependency 'sqlite3'
25
26
  end
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ class ModelsChannel < ApplicationCable::Channel; end
4
+
5
+ class ActionCableChannelTest < MiniTestSpecRails::TestCase
6
+ it 'matches spec type for class constants' do
7
+ assert_channel_test Minitest::Spec.spec_type(ApplicationCable::Channel)
8
+ assert_channel_test Minitest::Spec.spec_type(ModelsChannel)
9
+ end
10
+
11
+ it 'matches spec type for strings' do
12
+ assert_channel_test Minitest::Spec.spec_type('WidgetChannel')
13
+ assert_channel_test Minitest::Spec.spec_type('WidgetChannelTest')
14
+ assert_channel_test Minitest::Spec.spec_type('Widget Channel Test')
15
+ # And is case sensitive
16
+ refute_channel_test Minitest::Spec.spec_type('widgetcontroller')
17
+ refute_channel_test Minitest::Spec.spec_type('widgetcontrollertest')
18
+ refute_channel_test Minitest::Spec.spec_type('widget controller test')
19
+ end
20
+
21
+ it 'wont match spec type for non space characters' do
22
+ refute_channel_test Minitest::Spec.spec_type("Widget Channel\tTest")
23
+ refute_channel_test Minitest::Spec.spec_type("Widget Channel\rTest")
24
+ refute_channel_test Minitest::Spec.spec_type("Widget Channel\nTest")
25
+ refute_channel_test Minitest::Spec.spec_type("Widget Channel\fTest")
26
+ refute_channel_test Minitest::Spec.spec_type('Widget ChannelXTest')
27
+ end
28
+
29
+ private
30
+
31
+ def assert_channel_test(actual)
32
+ assert_equal ActionCable::Channel::TestCase, actual
33
+ end
34
+
35
+ def refute_channel_test(actual)
36
+ refute_equal ActionCable::Channel::TestCase, actual
37
+ end
38
+ end
@@ -3,31 +3,29 @@ require 'test_helper'
3
3
  class ModelsController < ApplicationController; end
4
4
 
5
5
  class ActionControllerTest < MiniTestSpecRails::TestCase
6
-
7
6
  it 'matches spec type for class constants' do
8
- assert_controller MiniTest::Spec.spec_type(ApplicationController)
9
- assert_controller MiniTest::Spec.spec_type(ModelsController)
7
+ assert_controller Minitest::Spec.spec_type(ApplicationController)
8
+ assert_controller Minitest::Spec.spec_type(ModelsController)
10
9
  end
11
10
 
12
11
  it 'matches spec type for strings' do
13
- assert_controller MiniTest::Spec.spec_type("WidgetController")
14
- assert_controller MiniTest::Spec.spec_type("WidgetControllerTest")
15
- assert_controller MiniTest::Spec.spec_type("Widget Controller Test")
12
+ assert_controller Minitest::Spec.spec_type('WidgetController')
13
+ assert_controller Minitest::Spec.spec_type('WidgetControllerTest')
14
+ assert_controller Minitest::Spec.spec_type('Widget Controller Test')
16
15
  # And is case sensitive
17
- refute_controller MiniTest::Spec.spec_type("widgetcontroller")
18
- refute_controller MiniTest::Spec.spec_type("widgetcontrollertest")
19
- refute_controller MiniTest::Spec.spec_type("widget controller test")
16
+ refute_controller Minitest::Spec.spec_type('widgetcontroller')
17
+ refute_controller Minitest::Spec.spec_type('widgetcontrollertest')
18
+ refute_controller Minitest::Spec.spec_type('widget controller test')
20
19
  end
21
20
 
22
21
  it 'wont match spec type for non space characters' do
23
- refute_controller MiniTest::Spec.spec_type("Widget Controller\tTest")
24
- refute_controller MiniTest::Spec.spec_type("Widget Controller\rTest")
25
- refute_controller MiniTest::Spec.spec_type("Widget Controller\nTest")
26
- refute_controller MiniTest::Spec.spec_type("Widget Controller\fTest")
27
- refute_controller MiniTest::Spec.spec_type("Widget ControllerXTest")
22
+ refute_controller Minitest::Spec.spec_type("Widget Controller\tTest")
23
+ refute_controller Minitest::Spec.spec_type("Widget Controller\rTest")
24
+ refute_controller Minitest::Spec.spec_type("Widget Controller\nTest")
25
+ refute_controller Minitest::Spec.spec_type("Widget Controller\fTest")
26
+ refute_controller Minitest::Spec.spec_type('Widget ControllerXTest')
28
27
  end
29
28
 
30
-
31
29
  private
32
30
 
33
31
  def assert_controller(actual)
@@ -37,5 +35,4 @@ class ActionControllerTest < MiniTestSpecRails::TestCase
37
35
  def refute_controller(actual)
38
36
  refute_equal ActionController::TestCase, actual
39
37
  end
40
-
41
38
  end
@@ -3,40 +3,38 @@ require 'test_helper'
3
3
  class ModelsController < ApplicationController; end
4
4
 
5
5
  class ActionControllerTest < MiniTestSpecRails::TestCase
6
-
7
6
  it 'resolves spec type for matching acceptance strings' do
8
- assert_dispatch MiniTest::Spec.spec_type("WidgetAcceptanceTest")
9
- assert_dispatch MiniTest::Spec.spec_type("Widget Acceptance Test")
7
+ assert_dispatch Minitest::Spec.spec_type('WidgetAcceptanceTest')
8
+ assert_dispatch Minitest::Spec.spec_type('Widget Acceptance Test')
10
9
  # And is case sensitive
11
- refute_dispatch MiniTest::Spec.spec_type("widgetacceptancetest")
12
- refute_dispatch MiniTest::Spec.spec_type("widget acceptance test")
10
+ refute_dispatch Minitest::Spec.spec_type('widgetacceptancetest')
11
+ refute_dispatch Minitest::Spec.spec_type('widget acceptance test')
13
12
  end
14
13
 
15
14
  it 'wont match spec type for space characters in acceptance strings' do
16
- refute_dispatch MiniTest::Spec.spec_type("Widget Acceptance\tTest")
17
- refute_dispatch MiniTest::Spec.spec_type("Widget Acceptance\rTest")
18
- refute_dispatch MiniTest::Spec.spec_type("Widget Acceptance\nTest")
19
- refute_dispatch MiniTest::Spec.spec_type("Widget Acceptance\fTest")
20
- refute_dispatch MiniTest::Spec.spec_type("Widget AcceptanceXTest")
15
+ refute_dispatch Minitest::Spec.spec_type("Widget Acceptance\tTest")
16
+ refute_dispatch Minitest::Spec.spec_type("Widget Acceptance\rTest")
17
+ refute_dispatch Minitest::Spec.spec_type("Widget Acceptance\nTest")
18
+ refute_dispatch Minitest::Spec.spec_type("Widget Acceptance\fTest")
19
+ refute_dispatch Minitest::Spec.spec_type('Widget AcceptanceXTest')
21
20
  end
22
21
 
23
22
  it 'resolves spec type for matching integration strings' do
24
- assert_dispatch MiniTest::Spec.spec_type("WidgetIntegrationTest")
25
- assert_dispatch MiniTest::Spec.spec_type("Widget Integration Test")
23
+ assert_dispatch Minitest::Spec.spec_type('WidgetIntegrationTest')
24
+ assert_dispatch Minitest::Spec.spec_type('Widget Integration Test')
26
25
  # And is case sensitive
27
- refute_dispatch MiniTest::Spec.spec_type("widgetintegrationtest")
28
- refute_dispatch MiniTest::Spec.spec_type("widget integration test")
26
+ refute_dispatch Minitest::Spec.spec_type('widgetintegrationtest')
27
+ refute_dispatch Minitest::Spec.spec_type('widget integration test')
29
28
  end
30
29
 
31
30
  it 'wont match spec type for space characters in integration strings' do
32
- refute_dispatch MiniTest::Spec.spec_type("Widget Integration\tTest")
33
- refute_dispatch MiniTest::Spec.spec_type("Widget Integration\rTest")
34
- refute_dispatch MiniTest::Spec.spec_type("Widget Integration\nTest")
35
- refute_dispatch MiniTest::Spec.spec_type("Widget Integration\fTest")
36
- refute_dispatch MiniTest::Spec.spec_type("Widget IntegrationXTest")
31
+ refute_dispatch Minitest::Spec.spec_type("Widget Integration\tTest")
32
+ refute_dispatch Minitest::Spec.spec_type("Widget Integration\rTest")
33
+ refute_dispatch Minitest::Spec.spec_type("Widget Integration\nTest")
34
+ refute_dispatch Minitest::Spec.spec_type("Widget Integration\fTest")
35
+ refute_dispatch Minitest::Spec.spec_type('Widget IntegrationXTest')
37
36
  end
38
37
 
39
-
40
38
  private
41
39
 
42
40
  def assert_dispatch(actual)
@@ -46,5 +44,4 @@ class ActionControllerTest < MiniTestSpecRails::TestCase
46
44
  def refute_dispatch(actual)
47
45
  refute_equal ActionDispatch::IntegrationTest, actual
48
46
  end
49
-
50
47
  end
@@ -4,31 +4,29 @@ class NotificationMailer < ActionMailer::Base; end
4
4
  class Notifications < ActionMailer::Base; end
5
5
 
6
6
  class ActionMailerTest < MiniTestSpecRails::TestCase
7
-
8
7
  it 'matches spec type for class constants' do
9
- assert_mailer MiniTest::Spec.spec_type(NotificationMailer)
10
- assert_mailer MiniTest::Spec.spec_type(Notifications)
8
+ assert_mailer Minitest::Spec.spec_type(NotificationMailer)
9
+ assert_mailer Minitest::Spec.spec_type(Notifications)
11
10
  end
12
11
 
13
12
  it 'matches spec type for strings' do
14
- assert_mailer MiniTest::Spec.spec_type("WidgetMailer")
15
- assert_mailer MiniTest::Spec.spec_type("WidgetMailerTest")
16
- assert_mailer MiniTest::Spec.spec_type("Widget Mailer Test")
13
+ assert_mailer Minitest::Spec.spec_type('WidgetMailer')
14
+ assert_mailer Minitest::Spec.spec_type('WidgetMailerTest')
15
+ assert_mailer Minitest::Spec.spec_type('Widget Mailer Test')
17
16
  # And is case sensitive
18
- refute_mailer MiniTest::Spec.spec_type("widgetmailer")
19
- refute_mailer MiniTest::Spec.spec_type("widgetmailertest")
20
- refute_mailer MiniTest::Spec.spec_type("widget mailer test")
17
+ refute_mailer Minitest::Spec.spec_type('widgetmailer')
18
+ refute_mailer Minitest::Spec.spec_type('widgetmailertest')
19
+ refute_mailer Minitest::Spec.spec_type('widget mailer test')
21
20
  end
22
21
 
23
22
  it 'wont match spec type for non space characters' do
24
- refute_mailer MiniTest::Spec.spec_type("Widget Mailer\tTest")
25
- refute_mailer MiniTest::Spec.spec_type("Widget Mailer\rTest")
26
- refute_mailer MiniTest::Spec.spec_type("Widget Mailer\nTest")
27
- refute_mailer MiniTest::Spec.spec_type("Widget Mailer\fTest")
28
- refute_mailer MiniTest::Spec.spec_type("Widget MailerXTest")
23
+ refute_mailer Minitest::Spec.spec_type("Widget Mailer\tTest")
24
+ refute_mailer Minitest::Spec.spec_type("Widget Mailer\rTest")
25
+ refute_mailer Minitest::Spec.spec_type("Widget Mailer\nTest")
26
+ refute_mailer Minitest::Spec.spec_type("Widget Mailer\fTest")
27
+ refute_mailer Minitest::Spec.spec_type('Widget MailerXTest')
29
28
  end
30
29
 
31
-
32
30
  private
33
31
 
34
32
  def assert_mailer(actual)
@@ -38,5 +36,4 @@ class ActionMailerTest < MiniTestSpecRails::TestCase
38
36
  def refute_mailer(actual)
39
37
  refute_equal ActionMailer::TestCase, actual
40
38
  end
41
-
42
39
  end
@@ -1,36 +1,34 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class ActionViewTest < MiniTestSpecRails::TestCase
4
-
5
4
  it 'resolves spec type for matching helper strings' do
6
- assert_view MiniTest::Spec.spec_type("WidgetHelper")
7
- assert_view MiniTest::Spec.spec_type("WidgetHelperTest")
8
- assert_view MiniTest::Spec.spec_type("Widget Helper Test")
5
+ assert_view Minitest::Spec.spec_type('WidgetHelper')
6
+ assert_view Minitest::Spec.spec_type('WidgetHelperTest')
7
+ assert_view Minitest::Spec.spec_type('Widget Helper Test')
9
8
  # And is case sensitive
10
- refute_view MiniTest::Spec.spec_type("widgethelper")
11
- refute_view MiniTest::Spec.spec_type("widgethelpertest")
12
- refute_view MiniTest::Spec.spec_type("widget helper test")
9
+ refute_view Minitest::Spec.spec_type('widgethelper')
10
+ refute_view Minitest::Spec.spec_type('widgethelpertest')
11
+ refute_view Minitest::Spec.spec_type('widget helper test')
13
12
  end
14
13
 
15
14
  it 'resolves spec type for matching view strings' do
16
- assert_view MiniTest::Spec.spec_type("WidgetView")
17
- assert_view MiniTest::Spec.spec_type("WidgetViewTest")
18
- assert_view MiniTest::Spec.spec_type("Widget View Test")
15
+ assert_view Minitest::Spec.spec_type('WidgetView')
16
+ assert_view Minitest::Spec.spec_type('WidgetViewTest')
17
+ assert_view Minitest::Spec.spec_type('Widget View Test')
19
18
  # And is case sensitive
20
- refute_view MiniTest::Spec.spec_type("widgetview")
21
- refute_view MiniTest::Spec.spec_type("widgetviewtest")
22
- refute_view MiniTest::Spec.spec_type("widget view test")
19
+ refute_view Minitest::Spec.spec_type('widgetview')
20
+ refute_view Minitest::Spec.spec_type('widgetviewtest')
21
+ refute_view Minitest::Spec.spec_type('widget view test')
23
22
  end
24
23
 
25
24
  it 'wont match spec type for non space characters' do
26
- refute_view MiniTest::Spec.spec_type("Widget Helper\tTest")
27
- refute_view MiniTest::Spec.spec_type("Widget Helper\rTest")
28
- refute_view MiniTest::Spec.spec_type("Widget Helper\nTest")
29
- refute_view MiniTest::Spec.spec_type("Widget Helper\fTest")
30
- refute_view MiniTest::Spec.spec_type("Widget HelperXTest")
25
+ refute_view Minitest::Spec.spec_type("Widget Helper\tTest")
26
+ refute_view Minitest::Spec.spec_type("Widget Helper\rTest")
27
+ refute_view Minitest::Spec.spec_type("Widget Helper\nTest")
28
+ refute_view Minitest::Spec.spec_type("Widget Helper\fTest")
29
+ refute_view Minitest::Spec.spec_type('Widget HelperXTest')
31
30
  end
32
31
 
33
-
34
32
  private
35
33
 
36
34
  def assert_view(actual)
@@ -40,5 +38,4 @@ class ActionViewTest < MiniTestSpecRails::TestCase
40
38
  def refute_view(actual)
41
39
  refute_equal ActionView::TestCase, actual
42
40
  end
43
-
44
41
  end
@@ -0,0 +1,46 @@
1
+ require 'test_helper'
2
+
3
+ if defined?(ActiveJob)
4
+ class MyJob < ActiveJob::Base
5
+ def perform(_record)
6
+ true
7
+ end
8
+ end
9
+ class TrashableCleanupJob < MyJob
10
+ end
11
+
12
+ class ActiveJobTest < MiniTestSpecRails::TestCase
13
+ it 'matches spec type for class constants' do
14
+ assert_job Minitest::Spec.spec_type(MyJob)
15
+ assert_job Minitest::Spec.spec_type(TrashableCleanupJob)
16
+ end
17
+
18
+ it 'matches spec type for strings' do
19
+ assert_job Minitest::Spec.spec_type('WidgetJob')
20
+ assert_job Minitest::Spec.spec_type('WidgetJobTest')
21
+ assert_job Minitest::Spec.spec_type('Widget Job Test')
22
+ # And is case sensitive
23
+ refute_job Minitest::Spec.spec_type('widgetmailer')
24
+ refute_job Minitest::Spec.spec_type('widgetmailertest')
25
+ refute_job Minitest::Spec.spec_type('widget mailer test')
26
+ end
27
+
28
+ it 'wont match spec type for non space characters' do
29
+ refute_job Minitest::Spec.spec_type("Widget Job\tTest")
30
+ refute_job Minitest::Spec.spec_type("Widget Job\rTest")
31
+ refute_job Minitest::Spec.spec_type("Widget Job\nTest")
32
+ refute_job Minitest::Spec.spec_type("Widget Job\fTest")
33
+ refute_job Minitest::Spec.spec_type('Widget JobXTest')
34
+ end
35
+
36
+ private
37
+
38
+ def assert_job(actual)
39
+ assert_equal ActiveJob::TestCase, actual
40
+ end
41
+
42
+ def refute_job(actual)
43
+ refute_equal ActiveJob::TestCase, actual
44
+ end
45
+ end
46
+ end