Skip to content

Commit

Permalink
Add Rake task for testing mailboxes
Browse files Browse the repository at this point in the history
  • Loading branch information
georgeclaghorn committed Dec 30, 2018
1 parent f28b28f commit e7bcbf7
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
4 changes: 4 additions & 0 deletions railties/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
* Add `rails test:mailboxes`.

*George Claghorn*

* Introduce guard against DNS rebinding attacks

The `ActionDispatch::HostAuthorization` is a new middleware that prevent
Expand Down
2 changes: 1 addition & 1 deletion railties/lib/rails/test_unit/testing.rake
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ namespace :test do
desc "Run tests quickly, but also reset db"
task db: %w[db:test:prepare test]

["models", "helpers", "controllers", "mailers", "integration", "jobs"].each do |name|
["models", "helpers", "controllers", "mailers", "integration", "jobs", "mailboxes"].each do |name|
task name => "test:prepare" do
$: << "test"
Rails::TestUnit::Runner.rake_run(["test/#{name}"])
Expand Down
16 changes: 14 additions & 2 deletions railties/test/application/test_runner_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,18 @@ def test_run_jobs
end
end

def test_run_mailboxes
create_test_file :mailboxes, "foo_mailbox"
create_test_file :mailboxes, "bar_mailbox"
create_test_file :models, "foo"

rails("test:mailboxes").tap do |output|
assert_match "FooMailboxTest", output
assert_match "BarMailboxTest", output
assert_match "2 runs, 2 assertions, 0 failures", output
end
end

def test_run_functionals
create_test_file :mailers, "foo_mailer"
create_test_file :controllers, "bar_controller"
Expand All @@ -155,11 +167,11 @@ def test_run_integration
end

def test_run_all_suites
suites = [:models, :helpers, :unit, :controllers, :mailers, :functional, :integration, :jobs]
suites = [:models, :helpers, :unit, :controllers, :mailers, :functional, :integration, :jobs, :mailboxes]
suites.each { |suite| create_test_file suite, "foo_#{suite}" }
run_test_command("") .tap do |output|
suites.each { |suite| assert_match "Foo#{suite.to_s.camelize}Test", output }
assert_match "8 runs, 8 assertions, 0 failures", output
assert_match "9 runs, 9 assertions, 0 failures", output
end
end

Expand Down

0 comments on commit e7bcbf7

Please sign in to comment.