minitest-rails 2.1.1 → 2.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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -3
  3. data/CHANGELOG.rdoc +9 -0
  4. data/Gemfile +1 -1
  5. data/Manifest.txt +8 -0
  6. data/Rakefile +1 -1
  7. data/gemfiles/4.2.gemfile +5 -0
  8. data/lib/generators/minitest/controller/templates/controller_spec.rb +1 -1
  9. data/lib/generators/minitest/helper/templates/helper_spec.rb +0 -2
  10. data/lib/generators/minitest/helper/templates/helper_test.rb +0 -2
  11. data/lib/generators/minitest/install/install_generator.rb +1 -6
  12. data/lib/generators/minitest/install/templates/test_helper.rb +2 -10
  13. data/lib/generators/minitest/job/job_generator.rb +19 -0
  14. data/lib/generators/minitest/job/templates/job_spec.rb +9 -0
  15. data/lib/generators/minitest/job/templates/job_test.rb +9 -0
  16. data/lib/generators/minitest/mailer/templates/mailer_spec.rb +4 -4
  17. data/lib/generators/minitest/model/templates/model_spec.rb +1 -1
  18. data/lib/generators/minitest/model/templates/model_test.rb +0 -2
  19. data/lib/generators/minitest/route/templates/route_spec.rb +5 -2
  20. data/lib/generators/minitest/route/templates/route_test.rb +4 -1
  21. data/lib/generators/minitest/scaffold/templates/controller_spec.rb +12 -14
  22. data/lib/generators/minitest/scaffold/templates/controller_test.rb +2 -3
  23. data/lib/minitest/rails.rb +16 -3
  24. data/lib/minitest/rails/assertions.rb +223 -1
  25. data/lib/minitest/rails/expectations.rb +205 -24
  26. data/lib/minitest/rails/version.rb +1 -1
  27. data/minitest-rails.gemspec +11 -12
  28. data/tasks/test.rake +9 -0
  29. data/test/generators/test_install_generator.rb +0 -6
  30. data/test/generators/test_job_generator.rb +45 -0
  31. data/test/helper.rb +12 -0
  32. data/test/rails/action_controller/test_expectations.rb +6 -5
  33. data/test/rails/active_job/test_assertions.rb +46 -0
  34. data/test/rails/active_job/test_expectations.rb +55 -0
  35. data/test/rails/active_job/test_spec_type.rb +49 -0
  36. data/test/rails/active_support/test_expectations.rb +4 -4
  37. metadata +14 -30
@@ -1,3 +1,5 @@
1
+ require "active_support/concern"
2
+
1
3
  module Minitest::Rails::Expectations
2
4
 
3
5
  ##############################################################################
@@ -7,27 +9,27 @@ module Minitest::Rails::Expectations
7
9
  ##
8
10
  # Checks the numeric difference between the return value of an expression as a result of what is evaluated.
9
11
  #
10
- # lambda { User.create password: "valid" }.must_change "User.count"
11
- # lambda { 3.times do
12
- # User.create password: "valid"
13
- # end }.must_change "User.count", 3
12
+ # value { User.create password: "valid" }.must_change "User.count"
13
+ # value { 3.times do
14
+ # User.create password: "valid"
15
+ # end }.must_change "User.count", 3
14
16
  #
15
17
  # See also ActiveSupport::TestCase#assert_difference
16
18
  #
17
19
  # :method: must_change
18
20
  # :args: expression, difference = 1, message = nil
19
- infect_an_assertion :assert_difference, :must_change
21
+ infect_an_assertion :assert_difference, :must_change, :block
20
22
 
21
23
  ##
22
24
  # Checks that the numeric result of evaluating an expression is not changed before and after invoking.
23
25
  #
24
- # lambda { User.new }.wont_change "User.count"
26
+ # value { User.new }.wont_change "User.count"
25
27
  #
26
28
  # See also ActiveSupport::TestCase#refute_difference
27
29
  #
28
30
  # :method: wont_change
29
31
  # :args: expression, message = nil
30
- infect_an_assertion :refute_difference, :wont_change
32
+ infect_an_assertion :refute_difference, :wont_change, :block
31
33
 
32
34
  ##############################################################################
33
35
  # ActionController/ActionView/ActionDispatch Expectations
@@ -46,11 +48,11 @@ module Minitest::Rails::Expectations
46
48
  #
47
49
  # # expect that the response was a redirection
48
50
  # must_respond_with :redirect
49
- # response.must_respond_with :redirect
51
+ # value(response).must_respond_with :redirect
50
52
  #
51
53
  # # expect that the response code was status code 401 (unauthorized)
52
54
  # must_respond_with 401
53
- # response.must_respond_with 401
55
+ # value(response).must_respond_with 401
54
56
  #
55
57
  # See also ActionController::TestCase#assert_response
56
58
  # See also ActionView::TestCase#assert_response
@@ -128,16 +130,16 @@ module Minitest::Rails::Expectations
128
130
  # The +defaults+ parameter is unused.
129
131
  #
130
132
  # # Expects that the default action is generated for a route with no action
131
- # {controller: "items", action: "index"}.must_route_from "/items"
133
+ # value({controller: "items", action: "index"}).must_route_from "/items"
132
134
  #
133
135
  # # Tests that the list action is properly routed
134
- # {controller: "items", action: "list"}.must_route_to "/items/list"
136
+ # value({controller: "items", action: "list"}).must_route_to "/items/list"
135
137
  #
136
138
  # # Tests the generation of a route with a parameter
137
- # { controller: "items", action: "list", id: "1" }.must_route_from "/items/list/1"
139
+ # value({ controller: "items", action: "list", id: "1" }).must_route_from "/items/list/1"
138
140
  #
139
141
  # # Expects that the generated route gives us our custom route
140
- # { controller: 'scm', action: 'show_diff', revision: "12" }.must_route_from "changesets/12"
142
+ # value({ controller: 'scm', action: 'show_diff', revision: "12" }).must_route_from "changesets/12"
141
143
  #
142
144
  # See also ActionController::TestCase#assert_generates
143
145
  # See also ActionView::TestCase#assert_generates
@@ -163,21 +165,21 @@ module Minitest::Rails::Expectations
163
165
  # extras argument, appending the query string on the path directly will not work. For example:
164
166
  #
165
167
  # # Expect that a path of '/items/list/1?view=print' returns the correct options
166
- # 'items/list/1'.must_route_from({controller: 'items', action: 'list', id: '1', view: 'print'}, { view: "print" })
168
+ # value('items/list/1').must_route_from({controller: 'items', action: 'list', id: '1', view: 'print'}, { view: "print" })
167
169
  #
168
170
  # The +message+ parameter allows you to pass in an error message that is displayed upon failure.
169
171
  #
170
172
  # # Check the default route (i.e., the index action)
171
- # 'items'.must_route_from({controller: 'items', action: 'index'})
173
+ # value('items').must_route_from({controller: 'items', action: 'index'})
172
174
  #
173
175
  # # Test a specific action
174
- # 'items/list'.must_route_from({controller: 'items', action: 'list'})
176
+ # value('items/list').must_route_from({controller: 'items', action: 'list'})
175
177
  #
176
178
  # # Test an action with a parameter
177
- # 'items/destroy/1'.must_route_from({controller: 'items', action: 'destroy', id: '1'})
179
+ # value('items/destroy/1').must_route_from({controller: 'items', action: 'destroy', id: '1'})
178
180
  #
179
181
  # # Test a custom route
180
- # 'view/item1'.must_route_from({controller: 'items', action: 'show', id: '1'})
182
+ # value('view/item1').must_route_from({controller: 'items', action: 'show', id: '1'})
181
183
  #
182
184
  # See also ActionController::TestCase#assert_recognizes
183
185
  # See also ActionView::TestCase#assert_recognizes
@@ -196,19 +198,19 @@ module Minitest::Rails::Expectations
196
198
  # +message+ parameter allows you to specify a custom error message to display upon failure.
197
199
  #
198
200
  # # Expect a basic route: a controller with the default action (index)
199
- # { controller: 'home', action: 'index' }.must_route_for '/home'
201
+ # value({ controller: 'home', action: 'index' }).must_route_for '/home'
200
202
  #
201
203
  # # Test a route generated with a specific controller, action, and parameter (id)
202
- # { controller: 'entries', action: 'show', id: 23 }.must_route_for '/entries/show/23'
204
+ # value({ controller: 'entries', action: 'show', id: 23 }).must_route_for '/entries/show/23'
203
205
  #
204
206
  # # Expect a basic route (controller + default action), with an error message if it fails
205
- # { controller: 'store', action: 'index' }.must_route_for '/store'
207
+ # value({ controller: 'store', action: 'index' }).must_route_for '/store'
206
208
  #
207
209
  # # Tests a route, providing a defaults hash
208
- # {id: "9", item: "square"}.must_route_for 'controller/action/9', {controller: "controller", action: "action"}, {}, {item: "square"}
210
+ # value({id: "9", item: "square"}).must_route_for 'controller/action/9', {controller: "controller", action: "action"}, {}, {item: "square"}
209
211
  #
210
212
  # # Tests a route with a HTTP method
211
- # { controller: "product", action: "update", id: "321" }.must_route_for({ method: 'put', path: '/product/321' })
213
+ # value({ controller: "product", action: "update", id: "321" }).must_route_for({ method: 'put', path: '/product/321' })
212
214
  #
213
215
  # See also ActionController::TestCase#assert_routing
214
216
  # See also ActionView::TestCase#assert_routing
@@ -381,7 +383,7 @@ module Minitest::Rails::Expectations
381
383
  # Checks the numeric difference between the return value of an expression as a result of what is evaluated.
382
384
  #
383
385
  # apple_link = '<a href="http://www.example.com">Apples</a>'
384
- # link_to("Apples", "http://www.example.com").must_dom_equal apple_link
386
+ # value(link_to("Apples", "http://www.example.com")).must_dom_equal apple_link
385
387
  #
386
388
  # See also ActionController::TestCase#assert_dom_equal
387
389
  # See also ActionView::TestCase#assert_dom_equal
@@ -530,6 +532,182 @@ module Minitest::Rails::Expectations
530
532
  #
531
533
  # :method: wont_have_tag
532
534
  # :call-seq: wont_have_tag(*opts)
535
+
536
+ if defined?(::ActiveJob)
537
+ ##############################################################################
538
+ # ActiveJob Expectations
539
+ ##############################################################################
540
+
541
+ ##
542
+ # Expects that the number of enqueued jobs matches the given number.
543
+ #
544
+ # def test_jobs
545
+ # must_enqueue_jobs 0
546
+ # HelloJob.perform_later('david')
547
+ # must_enqueue_jobs 1
548
+ # HelloJob.perform_later('abdelkader')
549
+ # must_enqueue_jobs 2
550
+ # end
551
+ #
552
+ # If a block is passed, that block should cause the specified number of
553
+ # jobs to be enqueued.
554
+ #
555
+ # def test_jobs_again
556
+ # must_enqueue_jobs 1 do
557
+ # HelloJob.perform_later('cristian')
558
+ # end
559
+ #
560
+ # must_enqueue_jobs 2 do
561
+ # HelloJob.perform_later('aaron')
562
+ # HelloJob.perform_later('rafael')
563
+ # end
564
+ # end
565
+ #
566
+ # See also ActiveJob::TestCase#assert_enqueued_jobs
567
+ #
568
+ # :method: must_enqueue_jobs
569
+ # :call-seq: must_enqueue_jobs(number)
570
+
571
+ ##
572
+ # Expects that no jobs have been enqueued.
573
+ #
574
+ # def test_jobs
575
+ # wont_enqueue_jobs
576
+ # HelloJob.perform_later('jeremy')
577
+ # must_enqueue_jobs 1
578
+ # end
579
+ #
580
+ # If a block is passed, that block should not cause any job to be enqueued.
581
+ #
582
+ # def test_jobs_again
583
+ # wont_enqueue_jobs do
584
+ # # No job should be enqueued from this block
585
+ # end
586
+ # end
587
+ #
588
+ # Note: This expectation is simply a shortcut for:
589
+ #
590
+ # must_enqueue_jobs 0, &block
591
+ #
592
+ # See also ActiveJob::TestCase#assert_no_enqueued_jobs
593
+ #
594
+ # :method: wont_enqueue_jobs
595
+ # :call-seq: wont_enqueue_jobs(number)
596
+
597
+ ##
598
+ # Expects that the number of performed jobs matches the given number.
599
+ # If no block is passed, <tt>perform_enqueued_jobs</tt>d
600
+ # must be called around the job call.
601
+ #
602
+ # def test_jobs
603
+ # must_perform_jobs 0
604
+ #
605
+ # perform_enqueued_jobs do
606
+ # HelloJob.perform_later('xavier')
607
+ # end
608
+ # must_perform_jobs 1
609
+ #
610
+ # perform_enqueued_jobs do
611
+ # HelloJob.perform_later('yves')
612
+ # must_perform_jobs 2
613
+ # end
614
+ # end
615
+ #
616
+ # If a block is passed, that block should cause the specified number of
617
+ # jobs to be performed.
618
+ #
619
+ # def test_jobs_again
620
+ # must_perform_jobs 1 do
621
+ # HelloJob.perform_later('robin')
622
+ # end
623
+ #
624
+ # must_perform_jobs 2 do
625
+ # HelloJob.perform_later('carlos')
626
+ # HelloJob.perform_later('sean')
627
+ # end
628
+ # end
629
+ #
630
+ # See also ActiveJob::TestCase#assert_performed_jobs
631
+ #
632
+ # :method: must_perform_jobs
633
+ # :call-seq: must_perform_jobs(number)
634
+
635
+ ##
636
+ # Expects that no jobs have been performed.
637
+ #
638
+ # def test_jobs
639
+ # wont_perform_jobs
640
+ #
641
+ # perform_enqueued_jobs do
642
+ # HelloJob.perform_later('matthew')
643
+ # must_perform_jobs 1
644
+ # end
645
+ # end
646
+ #
647
+ # If a block is passed, that block should not cause any job to be performed.
648
+ #
649
+ # def test_jobs_again
650
+ # wont_perform_jobs do
651
+ # # No job should be performed from this block
652
+ # end
653
+ # end
654
+ #
655
+ # Note: This assertion is simply a shortcut for:
656
+ #
657
+ # must_perform_jobs 0, &block
658
+ #
659
+ # See also ActiveJob::TestCase#assert_no_performed_jobs
660
+ #
661
+ # :method: wont_perform_jobs
662
+ # :call-seq: wont_perform_jobs(number)
663
+
664
+ ##
665
+ # Expects that the job passed in the block has been enqueued with the given arguments.
666
+ #
667
+ # def test_must_enqueue_with
668
+ # must_enqueue_with(job: MyJob, args: [1,2,3], queue: 'low') do
669
+ # MyJob.perform_later(1,2,3)
670
+ # end
671
+ # end
672
+ #
673
+ # See also Minitest::Rails::Expectations#assert_enqueued_with
674
+ #
675
+ # :method: must_enqueue_with
676
+ # :call-seq: must_enqueue_with(args)
677
+
678
+ ##
679
+ # Expects that the job passed in the block has been performed with the given arguments.
680
+ #
681
+ # def test_must_perform_with
682
+ # must_perform_with(job: MyJob, args: [1,2,3], queue: 'high') do
683
+ # MyJob.perform_later(1,2,3)
684
+ # end
685
+ # end
686
+ #
687
+ # See also Minitest::Rails::Expectations#assert_performed_with
688
+ #
689
+ # :method: must_perform_with
690
+ # :call-seq: must_perform_with(args)
691
+
692
+
693
+ # This exists as a module to allow easy mixing into classes
694
+ # other than ActiveJob::TestCase where you might want to do
695
+ # job testing e.g. in an Active Record model which triggers
696
+ # jobs in a callback.
697
+ module ActiveJob
698
+ extend ActiveSupport::Concern
699
+ include ::ActiveJob::TestHelper
700
+
701
+ included do
702
+ alias :must_enqueue_jobs :assert_enqueued_jobs
703
+ alias :must_perform_jobs :assert_performed_jobs
704
+ alias :wont_enqueue_jobs :assert_no_enqueued_jobs
705
+ alias :wont_perform_jobs :assert_no_performed_jobs
706
+ alias :must_enqueue_with :assert_enqueued_with
707
+ alias :must_perform_with :assert_performed_with
708
+ end
709
+ end
710
+ end
533
711
  end
534
712
 
535
713
  unless ENV["MT_NO_EXPECTATIONS"]
@@ -558,6 +736,9 @@ unless ENV["MT_NO_EXPECTATIONS"]
558
736
  alias :must_select_email :assert_select_email
559
737
  alias :must_select_encoded :assert_select_encoded
560
738
  end
739
+ class ActiveJob::TestCase # :nodoc:
740
+ include Minitest::Rails::Expectations::ActiveJob
741
+ end if defined?(ActiveJob)
561
742
  class ActionDispatch::IntegrationTest # :nodoc:
562
743
  alias :must_respond_with :assert_response
563
744
  alias :must_redirect_to :assert_redirected_to
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Rails
3
- VERSION = "2.1.1"
3
+ VERSION = "2.2.0"
4
4
  end
5
5
  end
@@ -1,46 +1,45 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: minitest-rails 2.1.1.20141028151650 ruby lib
2
+ # stub: minitest-rails 2.2.0.20150529121029 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "minitest-rails"
6
- s.version = "2.1.1.20141028151650"
6
+ s.version = "2.2.0.20150529121029"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
10
10
  s.authors = ["Mike Moore"]
11
- s.date = "2014-10-28"
11
+ s.date = "2015-05-29"
12
12
  s.description = "Adds Minitest as the default testing library in Rails"
13
13
  s.email = ["mike@blowmage.com"]
14
14
  s.extra_rdoc_files = ["CHANGELOG.rdoc", "Manifest.txt", "README.rdoc"]
15
- s.files = [".autotest", ".gemtest", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "gemfiles/4.1.gemfile", "lib/generators/.document", "lib/generators/minitest.rb", "lib/generators/minitest/controller/controller_generator.rb", "lib/generators/minitest/controller/templates/controller_spec.rb", "lib/generators/minitest/controller/templates/controller_test.rb", "lib/generators/minitest/generator/generator_generator.rb", "lib/generators/minitest/generator/templates/generator_spec.rb", "lib/generators/minitest/generator/templates/generator_test.rb", "lib/generators/minitest/helper/helper_generator.rb", "lib/generators/minitest/helper/templates/helper_spec.rb", "lib/generators/minitest/helper/templates/helper_test.rb", "lib/generators/minitest/install/install_generator.rb", "lib/generators/minitest/install/templates/test_helper.rb", "lib/generators/minitest/integration/integration_generator.rb", "lib/generators/minitest/integration/templates/integration_spec.rb", "lib/generators/minitest/integration/templates/integration_test.rb", "lib/generators/minitest/mailer/mailer_generator.rb", "lib/generators/minitest/mailer/templates/mailer_spec.rb", "lib/generators/minitest/mailer/templates/mailer_test.rb", "lib/generators/minitest/mailer/templates/preview.rb", "lib/generators/minitest/model/model_generator.rb", "lib/generators/minitest/model/templates/fixtures.yml", "lib/generators/minitest/model/templates/model_spec.rb", "lib/generators/minitest/model/templates/model_test.rb", "lib/generators/minitest/route/route_generator.rb", "lib/generators/minitest/route/templates/route_spec.rb", "lib/generators/minitest/route/templates/route_test.rb", "lib/generators/minitest/scaffold/scaffold_generator.rb", "lib/generators/minitest/scaffold/templates/controller_spec.rb", "lib/generators/minitest/scaffold/templates/controller_test.rb", "lib/minitest-rails.rb", "lib/minitest/rails.rb", "lib/minitest/rails/assertions.rb", "lib/minitest/rails/constant_lookup.rb", "lib/minitest/rails/expectations.rb", "lib/minitest/rails/railtie.rb", "lib/minitest/rails/version.rb", "minitest-rails.gemspec", "tasks/test.rake", "test/generators/test_controller_generator.rb", "test/generators/test_generator_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_route_generator.rb", "test/generators/test_scaffold_generator.rb", "test/helper.rb", "test/rails/action_controller/test_assertions.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_expectations.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/action_dispatch/test_spec_type.rb", "test/rails/action_mailer/test_mailers.rb", "test/rails/action_mailer/test_spec_type.rb", "test/rails/action_view/test_helpers.rb", "test/rails/action_view/test_spec_type.rb", "test/rails/active_support/test_assertions.rb", "test/rails/active_support/test_expectations.rb", "test/rails/active_support/test_spec_type.rb", "test/rails/generators/test_spec_type.rb", "test/rails/minitest_5_api_test.rb", "test/rails/test_constant_lookup.rb", "test/test_sanity.rb"]
15
+ s.files = [".autotest", ".gemtest", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "gemfiles/4.1.gemfile", "gemfiles/4.2.gemfile", "lib/generators/.document", "lib/generators/minitest.rb", "lib/generators/minitest/controller/controller_generator.rb", "lib/generators/minitest/controller/templates/controller_spec.rb", "lib/generators/minitest/controller/templates/controller_test.rb", "lib/generators/minitest/generator/generator_generator.rb", "lib/generators/minitest/generator/templates/generator_spec.rb", "lib/generators/minitest/generator/templates/generator_test.rb", "lib/generators/minitest/helper/helper_generator.rb", "lib/generators/minitest/helper/templates/helper_spec.rb", "lib/generators/minitest/helper/templates/helper_test.rb", "lib/generators/minitest/install/install_generator.rb", "lib/generators/minitest/install/templates/test_helper.rb", "lib/generators/minitest/integration/integration_generator.rb", "lib/generators/minitest/integration/templates/integration_spec.rb", "lib/generators/minitest/integration/templates/integration_test.rb", "lib/generators/minitest/job/job_generator.rb", "lib/generators/minitest/job/templates/job_spec.rb", "lib/generators/minitest/job/templates/job_test.rb", "lib/generators/minitest/mailer/mailer_generator.rb", "lib/generators/minitest/mailer/templates/mailer_spec.rb", "lib/generators/minitest/mailer/templates/mailer_test.rb", "lib/generators/minitest/mailer/templates/preview.rb", "lib/generators/minitest/model/model_generator.rb", "lib/generators/minitest/model/templates/fixtures.yml", "lib/generators/minitest/model/templates/model_spec.rb", "lib/generators/minitest/model/templates/model_test.rb", "lib/generators/minitest/route/route_generator.rb", "lib/generators/minitest/route/templates/route_spec.rb", "lib/generators/minitest/route/templates/route_test.rb", "lib/generators/minitest/scaffold/scaffold_generator.rb", "lib/generators/minitest/scaffold/templates/controller_spec.rb", "lib/generators/minitest/scaffold/templates/controller_test.rb", "lib/minitest-rails.rb", "lib/minitest/rails.rb", "lib/minitest/rails/assertions.rb", "lib/minitest/rails/constant_lookup.rb", "lib/minitest/rails/expectations.rb", "lib/minitest/rails/railtie.rb", "lib/minitest/rails/version.rb", "minitest-rails.gemspec", "tasks/test.rake", "test/generators/test_controller_generator.rb", "test/generators/test_generator_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_job_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_route_generator.rb", "test/generators/test_scaffold_generator.rb", "test/helper.rb", "test/rails/action_controller/test_assertions.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_expectations.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/action_dispatch/test_spec_type.rb", "test/rails/action_mailer/test_mailers.rb", "test/rails/action_mailer/test_spec_type.rb", "test/rails/action_view/test_helpers.rb", "test/rails/action_view/test_spec_type.rb", "test/rails/active_job/test_assertions.rb", "test/rails/active_job/test_expectations.rb", "test/rails/active_job/test_spec_type.rb", "test/rails/active_support/test_assertions.rb", "test/rails/active_support/test_expectations.rb", "test/rails/active_support/test_spec_type.rb", "test/rails/generators/test_spec_type.rb", "test/rails/minitest_5_api_test.rb", "test/rails/test_constant_lookup.rb", "test/test_sanity.rb"]
16
16
  s.homepage = "http://blowmage.com/minitest-rails"
17
17
  s.licenses = ["MIT"]
18
18
  s.rdoc_options = ["--main", "README.rdoc"]
19
- s.rubygems_version = "2.2.2"
19
+ s.rubygems_version = "2.4.6"
20
20
  s.summary = "Minitest integration for Rails"
21
- s.test_files = ["test/generators/test_controller_generator.rb", "test/generators/test_generator_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_route_generator.rb", "test/generators/test_scaffold_generator.rb", "test/rails/action_controller/test_assertions.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_expectations.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/action_dispatch/test_spec_type.rb", "test/rails/action_mailer/test_mailers.rb", "test/rails/action_mailer/test_spec_type.rb", "test/rails/action_view/test_helpers.rb", "test/rails/action_view/test_spec_type.rb", "test/rails/active_support/test_assertions.rb", "test/rails/active_support/test_expectations.rb", "test/rails/active_support/test_spec_type.rb", "test/rails/generators/test_spec_type.rb", "test/rails/test_constant_lookup.rb", "test/test_sanity.rb", "test/rails/minitest_5_api_test.rb"]
22
21
 
23
22
  if s.respond_to? :specification_version then
24
23
  s.specification_version = 4
25
24
 
26
25
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- s.add_runtime_dependency(%q<minitest>, ["~> 5.4"])
26
+ s.add_runtime_dependency(%q<minitest>, ["~> 5.7"])
28
27
  s.add_runtime_dependency(%q<railties>, ["~> 4.1"])
29
28
  s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
30
29
  s.add_development_dependency(%q<fakefs>, ["= 0.4.3"])
31
- s.add_development_dependency(%q<hoe>, ["~> 3.12"])
30
+ s.add_development_dependency(%q<hoe>, ["~> 3.13"])
32
31
  else
33
- s.add_dependency(%q<minitest>, ["~> 5.4"])
32
+ s.add_dependency(%q<minitest>, ["~> 5.7"])
34
33
  s.add_dependency(%q<railties>, ["~> 4.1"])
35
34
  s.add_dependency(%q<rdoc>, ["~> 4.0"])
36
35
  s.add_dependency(%q<fakefs>, ["= 0.4.3"])
37
- s.add_dependency(%q<hoe>, ["~> 3.12"])
36
+ s.add_dependency(%q<hoe>, ["~> 3.13"])
38
37
  end
39
38
  else
40
- s.add_dependency(%q<minitest>, ["~> 5.4"])
39
+ s.add_dependency(%q<minitest>, ["~> 5.7"])
41
40
  s.add_dependency(%q<railties>, ["~> 4.1"])
42
41
  s.add_dependency(%q<rdoc>, ["~> 4.0"])
43
42
  s.add_dependency(%q<fakefs>, ["= 0.4.3"])
44
- s.add_dependency(%q<hoe>, ["~> 3.12"])
43
+ s.add_dependency(%q<hoe>, ["~> 3.13"])
45
44
  end
46
45
  end
@@ -7,8 +7,17 @@ namespace :test do
7
7
  sh "rm -f Gemfile.lock"
8
8
  end
9
9
 
10
+ desc "Run tests for Rails 4.2"
11
+ task "4.2" do
12
+ sh "rm -f Gemfile.lock"
13
+ ENV["RAILS_VERSION"] = "4.2"
14
+ sh "bundle && bundle exec rake test"
15
+ sh "rm -f Gemfile.lock"
16
+ end
17
+
10
18
  desc "Run tests for all Rails versions"
11
19
  task "all" do
12
20
  sh "rake test:4.1"
21
+ sh "rake test:4.2"
13
22
  end
14
23
  end
@@ -12,11 +12,6 @@ class TestInstallGenerator < GeneratorTest
12
12
  assert_match(/require "rails\/test_help"/m, contents)
13
13
  assert_match(/require "minitest\/rails"/m, contents)
14
14
  assert_match(/fixtures :all/m, contents)
15
- if Rails::VERSION::STRING >= "4.0"
16
- assert_match(/ActiveRecord::Migration.check_pending\!/m, contents)
17
- else
18
- refute_match(/ActiveRecord::Migration.check_pending\!/m, contents)
19
- end
20
15
  end
21
16
 
22
17
  def test_install_generator_without_active_record
@@ -28,6 +23,5 @@ class TestInstallGenerator < GeneratorTest
28
23
  assert_match(/require "rails\/test_help"/m, contents)
29
24
  assert_match(/require "minitest\/rails"/m, contents)
30
25
  refute_match(/fixtures :all/m, contents)
31
- refute_match(/ActiveRecord::Migration.check_pending\!/m, contents)
32
26
  end
33
27
  end
@@ -0,0 +1,45 @@
1
+ require "helper"
2
+
3
+ if defined? ActiveJob # Rails 4.2 and later.
4
+ require "generators/minitest/job/job_generator"
5
+
6
+ class TestJobGenerator < GeneratorTest
7
+
8
+ def test_job_generator
9
+ assert_output(/create test\/jobs\/user_invite_job_test.rb/m) do
10
+ Minitest::Generators::JobGenerator.start ["user_invite"]
11
+ end
12
+ assert File.exists? "test/jobs/user_invite_job_test.rb"
13
+ contents = File.read "test/jobs/user_invite_job_test.rb"
14
+ assert_match(/class UserInviteJobTest < ActiveJob::TestCase/m, contents)
15
+ end
16
+
17
+ def test_namespaced_job_generator
18
+ assert_output(/create test\/jobs\/admin\/user_invite_job_test.rb/m) do
19
+ Minitest::Generators::JobGenerator.start ["admin/user_invite"]
20
+ end
21
+ assert File.exists? "test/jobs/admin/user_invite_job_test.rb"
22
+ contents = File.read "test/jobs/admin/user_invite_job_test.rb"
23
+ assert_match(/class Admin::UserInviteJobTest < ActiveJob::TestCase/m, contents)
24
+ end
25
+
26
+ def test_job_generator_spec
27
+ assert_output(/create test\/jobs\/user_invite_job_test.rb/m) do
28
+ Minitest::Generators::JobGenerator.start ["user_invite", "--spec"]
29
+ end
30
+ assert File.exists? "test/jobs/user_invite_job_test.rb"
31
+ contents = File.read "test/jobs/user_invite_job_test.rb"
32
+ assert_match(/describe UserInviteJob do/m, contents)
33
+ end
34
+
35
+ def test_namespaced_job_generator_spec
36
+ assert_output(/create test\/jobs\/admin\/user_invite_job_test.rb/m) do
37
+ Minitest::Generators::JobGenerator.start ["admin/user_invite", "--spec"]
38
+ end
39
+ assert File.exists? "test/jobs/admin/user_invite_job_test.rb"
40
+ contents = File.read "test/jobs/admin/user_invite_job_test.rb"
41
+ assert_match(/describe Admin::UserInviteJob do/m, contents)
42
+ end
43
+
44
+ end
45
+ end