minitest-rails 3.0.0 → 5.0.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 (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
@@ -1,58 +0,0 @@
1
- require "helper"
2
-
3
- class TestActionViewSpecType < Minitest::Test
4
- def assert_view actual
5
- assert_equal ActionView::TestCase, actual
6
- end
7
-
8
- def refute_view actual
9
- refute_equal ActionView::TestCase, actual
10
- end
11
-
12
- def test_spec_type_resolves_for_matching_helper_strings
13
- assert_view Minitest::Spec.spec_type("WidgetHelper")
14
- assert_view Minitest::Spec.spec_type("WidgetHelperTest")
15
- assert_view Minitest::Spec.spec_type("Widget Helper Test")
16
- # And is not case sensitive
17
- assert_view Minitest::Spec.spec_type("widgethelper")
18
- assert_view Minitest::Spec.spec_type("widgethelpertest")
19
- assert_view Minitest::Spec.spec_type("widget helper test")
20
- end
21
-
22
- def test_spec_type_resolves_for_matching_view_strings
23
- assert_view Minitest::Spec.spec_type("Widget View Test")
24
- # And is not case sensitive
25
- assert_view Minitest::Spec.spec_type("widget view test")
26
- end
27
-
28
- def test_spec_type_wont_match_models_that_end_in_view
29
- refute_view Minitest::Spec.spec_type("NewsOverviewTest")
30
- refute_view Minitest::Spec.spec_type("News Overview Test")
31
- refute_view Minitest::Spec.spec_type("NewsOverview")
32
- refute_view Minitest::Spec.spec_type("News Overview")
33
- end
34
-
35
- def test_spec_type_wont_match_non_space_characters
36
- refute_view Minitest::Spec.spec_type("Widget Helper\tTest")
37
- refute_view Minitest::Spec.spec_type("Widget Helper\rTest")
38
- refute_view Minitest::Spec.spec_type("Widget Helper\nTest")
39
- refute_view Minitest::Spec.spec_type("Widget Helper\fTest")
40
- refute_view Minitest::Spec.spec_type("Widget HelperXTest")
41
- end
42
-
43
- def test_spec_type_doesnt_resolve_random_strings
44
- refute_view Minitest::Spec.spec_type("Unmatched String")
45
- end
46
-
47
- def test_spec_type_resolves_for_additional_desc_view
48
- assert_view Minitest::Spec.spec_type("Unmatched String", :view)
49
- assert_view Minitest::Spec.spec_type("Unmatched String", :view, :other)
50
- assert_view Minitest::Spec.spec_type("Unmatched String", :other, :view)
51
- end
52
-
53
- def test_spec_type_resolves_for_additional_desc_helper
54
- assert_view Minitest::Spec.spec_type("Unmatched String", :helper)
55
- assert_view Minitest::Spec.spec_type("Unmatched String", :helper, :other)
56
- assert_view Minitest::Spec.spec_type("Unmatched String", :other, :helper)
57
- end
58
- end
@@ -1,46 +0,0 @@
1
- require "helper"
2
-
3
- if defined? ActiveJob # Rails 4.2 and later.
4
- class TestActiveJobAssertions < ActiveJob::TestCase
5
- def test_assert_enqueued_jobs
6
- assert_enqueued_jobs 0
7
- UserInviteJob.logger.silence { UserInviteJob.perform_later }
8
- assert_enqueued_jobs 1
9
- end
10
-
11
- def test_assert_no_enqueued_jobs
12
- assert_no_enqueued_jobs
13
- UserInviteJob.new
14
- assert_no_enqueued_jobs
15
- end
16
-
17
- def test_assert_performed_jobs
18
- assert_performed_jobs 0
19
- assert_performed_jobs 2 do
20
- UserInviteJob.logger.silence do
21
- UserInviteJob.perform_later
22
- UserInviteJob.perform_later
23
- end
24
- end
25
- end
26
-
27
- def test_assert_no_performed_jobs
28
- assert_no_performed_jobs
29
- assert_no_performed_jobs do
30
- UserInviteJob.new
31
- end
32
- end
33
-
34
- def test_assert_enqueued_with
35
- assert_enqueued_with job: UserInviteJob, args: [209] do
36
- UserInviteJob.logger.silence { UserInviteJob.perform_later(209) }
37
- end
38
- end
39
-
40
- def test_assert_performed_with
41
- assert_performed_with job: UserInviteJob, args: [107] do
42
- UserInviteJob.logger.silence { UserInviteJob.perform_later(107) }
43
- end
44
- end
45
- end
46
- end
@@ -1,55 +0,0 @@
1
- require "helper"
2
-
3
- if defined? ActiveJob # Rails 4.2 and later.
4
- module ActiveJobExpectationTests
5
- def test_must_enqueue_jobs
6
- must_enqueue_jobs 0
7
- UserInviteJob.logger.silence { UserInviteJob.perform_later }
8
- must_enqueue_jobs 1
9
- end
10
-
11
- def test_wont_enqueue_jobs
12
- wont_enqueue_jobs
13
- UserInviteJob.new
14
- wont_enqueue_jobs
15
- end
16
-
17
- def test_must_perform_jobs
18
- must_perform_jobs 0
19
- must_perform_jobs 2 do
20
- UserInviteJob.logger.silence do
21
- UserInviteJob.perform_later
22
- UserInviteJob.perform_later
23
- end
24
- end
25
- end
26
-
27
- def test_wont_perform_jobs
28
- wont_perform_jobs
29
- wont_perform_jobs do
30
- UserInviteJob.new
31
- end
32
- end
33
-
34
- def test_must_enqueue_with
35
- must_enqueue_with job: UserInviteJob, args: [209] do
36
- UserInviteJob.logger.silence { UserInviteJob.perform_later(209) }
37
- end
38
- end
39
-
40
- def test_must_perform_with
41
- must_perform_with job: UserInviteJob, args: [107] do
42
- UserInviteJob.logger.silence { UserInviteJob.perform_later(107) }
43
- end
44
- end
45
- end
46
-
47
- class TestActiveJobExpectations < ActiveJob::TestCase
48
- include ActiveJobExpectationTests
49
- end
50
-
51
- class TestActiveJobExpectationInCustomTestCase < ActiveSupport::TestCase
52
- include Minitest::Rails::Expectations::ActiveJob
53
- include ActiveJobExpectationTests
54
- end
55
- end
@@ -1,49 +0,0 @@
1
- require "helper"
2
-
3
- if defined? ActiveJob # Rails 4.2 and later.
4
- class UserInviteJob < ActiveJob::Base; end
5
- class InviteUser < ActiveJob::Base; end
6
-
7
- class TestActiveJobSpecType < Minitest::Test
8
- def assert_job actual
9
- assert_equal ActiveJob::TestCase, actual
10
- end
11
-
12
- def refute_job actual
13
- refute_equal ActiveJob::TestCase, actual
14
- end
15
-
16
- def test_spec_type_resolves_for_class_constants
17
- assert_job Minitest::Spec.spec_type(UserInviteJob)
18
- assert_job Minitest::Spec.spec_type(InviteUser)
19
- end
20
-
21
- def test_spec_type_resolves_for_matching_string
22
- assert_job Minitest::Spec.spec_type("UserInviteJob")
23
- assert_job Minitest::Spec.spec_type("UserInviteJobTest")
24
- assert_job Minitest::Spec.spec_type("User Invite Job Test")
25
- # And is not case sensitive
26
- assert_job Minitest::Spec.spec_type("userinvitejob")
27
- assert_job Minitest::Spec.spec_type("userinvitejobtest")
28
- assert_job Minitest::Spec.spec_type("user invite job test")
29
- end
30
-
31
- def test_spec_type_wont_match_non_space_characters
32
- refute_job Minitest::Spec.spec_type("User Invite Job\tTest")
33
- refute_job Minitest::Spec.spec_type("User Invite Job\rTest")
34
- refute_job Minitest::Spec.spec_type("User Invite Job\nTest")
35
- refute_job Minitest::Spec.spec_type("User Invite Job\fTest")
36
- refute_job Minitest::Spec.spec_type("User Invite JobXTest")
37
- end
38
-
39
- def test_spec_type_doesnt_resolve_random_strings
40
- refute_job Minitest::Spec.spec_type("Unmatched String")
41
- end
42
-
43
- def test_spec_type_resolves_for_additional_desc_job
44
- assert_job Minitest::Spec.spec_type("Unmatched String", :job)
45
- assert_job Minitest::Spec.spec_type("Unmatched String", :job, :other)
46
- assert_job Minitest::Spec.spec_type("Unmatched String", :other, :job)
47
- end
48
- end
49
- end
@@ -1,31 +0,0 @@
1
- require "helper"
2
-
3
- class TestActiveSupportAssertions < ActiveSupport::TestCase
4
-
5
- def test_assert_difference
6
- counter = 0
7
- assert_difference "counter" do
8
- counter += 1
9
- end
10
- assert_difference "counter", +1 do
11
- counter += 1
12
- end
13
- assert_difference "counter", +3 do
14
- 3.times { counter += 1 }
15
- end
16
- end
17
-
18
- def test_refute_difference
19
- counter = 0
20
- refute_difference "counter" do
21
- counter = 0
22
- end
23
- end
24
-
25
- def test_assert_no_difference
26
- counter = 0
27
- assert_no_difference "counter" do
28
- counter = 0
29
- end
30
- end
31
- end
@@ -1,21 +0,0 @@
1
- require "helper"
2
-
3
- # Can't use describe because there is no spec type to use
4
- class TestActiveSupportExpectations < ActiveSupport::TestCase
5
-
6
- def test_must_change
7
- counter = 0
8
-
9
- value { counter += 1 }.must_change "counter", +1
10
-
11
- value { counter += 3 }.must_change "counter", +3
12
-
13
- value { counter -= 1 }.must_change "counter", -1
14
- end
15
-
16
- def test_wont_change
17
- counter = 0
18
-
19
- value { counter = 0 }.wont_change "counter"
20
- end
21
- end
@@ -1,28 +0,0 @@
1
- require "helper"
2
-
3
- class SomeRandomModel < ActiveRecord::Base; end
4
-
5
- class TestActiveSupportSpecType < Minitest::Test
6
-
7
- def assert_support actual
8
- assert_equal ActiveSupport::TestCase, actual
9
- end
10
-
11
- def refute_support actual
12
- refute_equal ActiveSupport::TestCase, actual
13
- end
14
-
15
- def test_spec_type_resolves_for_actitive_record_constants
16
- assert_support Minitest::Spec.spec_type(SomeRandomModel)
17
- end
18
-
19
- def test_spec_type_doesnt_resolve_random_strings
20
- refute_support Minitest::Spec.spec_type("Unmatched String")
21
- end
22
-
23
- def test_spec_type_resolves_for_additional_desc_model
24
- assert_support Minitest::Spec.spec_type("Unmatched String", :model)
25
- assert_support Minitest::Spec.spec_type("Unmatched String", :model, :other)
26
- assert_support Minitest::Spec.spec_type("Unmatched String", :other, :model)
27
- end
28
- end
@@ -1,45 +0,0 @@
1
- require "helper"
2
-
3
- class InstallGenerator < Rails::Generators::Base; end
4
-
5
- class TestGeneratorsSpecType < Minitest::Test
6
- def assert_generator actual
7
- assert_equal Rails::Generators::TestCase, actual
8
- end
9
-
10
- def refute_generator actual
11
- refute_equal Rails::Generators::TestCase, actual
12
- end
13
-
14
- def test_spec_type_resolves_for_class_constants
15
- assert_generator Minitest::Spec.spec_type(InstallGenerator)
16
- end
17
-
18
- def test_spec_type_resolves_for_matching_strings
19
- assert_generator Minitest::Spec.spec_type("InstallGenerator")
20
- assert_generator Minitest::Spec.spec_type("InstallGeneratorTest")
21
- assert_generator Minitest::Spec.spec_type("Install Generator Test")
22
- # And is not case sensitive
23
- assert_generator Minitest::Spec.spec_type("installgenerator")
24
- assert_generator Minitest::Spec.spec_type("installgeneratortest")
25
- assert_generator Minitest::Spec.spec_type("install generator test")
26
- end
27
-
28
- def test_spec_type_wont_match_non_space_characters
29
- refute_generator Minitest::Spec.spec_type("Install Generator\tTest")
30
- refute_generator Minitest::Spec.spec_type("Install Generator\rTest")
31
- refute_generator Minitest::Spec.spec_type("Install Generator\nTest")
32
- refute_generator Minitest::Spec.spec_type("Install Generator\fTest")
33
- refute_generator Minitest::Spec.spec_type("Install GeneratorXTest")
34
- end
35
-
36
- def test_spec_type_doesnt_resolve_random_strings
37
- refute_generator Minitest::Spec.spec_type("Unmatched String")
38
- end
39
-
40
- def test_spec_type_resolves_for_additional_desc_generator
41
- assert_generator Minitest::Spec.spec_type("Unmatched String", :generator)
42
- assert_generator Minitest::Spec.spec_type("Unmatched String", :generator, :other)
43
- assert_generator Minitest::Spec.spec_type("Unmatched String", :other, :generator)
44
- end
45
- end
@@ -1,58 +0,0 @@
1
- require "helper"
2
-
3
- class Foo; end
4
- class Bar < Foo;
5
- def index; end
6
- def self.index; end
7
- end
8
- class Baz < Bar; end
9
- module FooBar; end
10
-
11
- class TestLookup < ActiveSupport::TestCase
12
-
13
- def find_foo(name)
14
- self.class.determine_constant_from_test_name(name) do |constant|
15
- Class === constant && constant < Foo
16
- end
17
- end
18
-
19
- def find_module(name)
20
- self.class.determine_constant_from_test_name(name) do |constant|
21
- Module === constant
22
- end
23
- end
24
-
25
- def test_find_bar_from_foo
26
- assert_equal Bar, find_foo("Bar")
27
- assert_equal Bar, find_foo("Bar::index")
28
- assert_equal Bar, find_foo("Bar::index::authenticated")
29
- assert_equal Bar, find_foo("BarTest")
30
- assert_equal Bar, find_foo("BarTest::index")
31
- assert_equal Bar, find_foo("BarTest::index::authenticated")
32
- end
33
-
34
- def test_find_module
35
- assert_equal FooBar, find_module("FooBar")
36
- assert_equal FooBar, find_module("FooBar::index")
37
- assert_equal FooBar, find_module("FooBar::index::authenticated")
38
- assert_equal FooBar, find_module("FooBarTest")
39
- assert_equal FooBar, find_module("FooBarTest::index")
40
- assert_equal FooBar, find_module("FooBarTest::index::authenticated")
41
- end
42
-
43
- def test_returns_nil_when_cant_find_foo
44
- assert_nil find_foo("DoesntExist")
45
- assert_nil find_foo("DoesntExistTest")
46
- assert_nil find_foo("DoesntExist::Nadda")
47
- assert_nil find_foo("DoesntExist::Nadda::Nope")
48
- assert_nil find_foo("DoesntExist::Nadda::Nope::NotHere")
49
- end
50
-
51
- def test_returns_nil_when_cant_find_module
52
- assert_nil find_module("DoesntExist")
53
- assert_nil find_module("DoesntExistTest")
54
- assert_nil find_module("DoesntExist::Nadda")
55
- assert_nil find_module("DoesntExist::Nadda::Nope")
56
- assert_nil find_module("DoesntExist::Nadda::Nope::NotHere")
57
- end
58
- end
@@ -1,7 +0,0 @@
1
- require "helper"
2
-
3
- class TestMinitest < Minitest::Test
4
- def test_sanity
5
- assert Minitest::Rails::VERSION
6
- end
7
- end