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
@@ -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