rails/railties/test/commands/restart_test.rb
Petrik 51c965c431 Use Thor for built-in restart task
Currently we use both Thor and Rake for `bin/rails` commands.
We eventually want to get all the built-ins task promoted to Thor Commands.
This migrates the `restart` task to Thor.

With this change it also possible to restart outside the application
directory:

```bash
blog/bin/rails restart
```

Co-authored-by: Hartley McGuire <skipkayhil@gmail.com>
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
2023-03-15 13:09:48 +01:00

32 lines
796 B
Ruby

# frozen_string_literal: true
require "isolation/abstract_unit"
require "rails/command"
class Rails::Command::RestartTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation
setup :build_app
teardown :teardown_app
test "rails restart touches tmp/restart.txt" do
Dir.chdir(app_path) do
rails "restart"
assert File.exist?("tmp/restart.txt")
prev_mtime = File.mtime("tmp/restart.txt")
sleep(1)
rails "restart"
curr_mtime = File.mtime("tmp/restart.txt")
assert_not_equal prev_mtime, curr_mtime
end
end
test "rails restart should work even if tmp folder does not exist" do
Dir.chdir(app_path) do
FileUtils.remove_dir("tmp")
rails "restart"
assert File.exist?("tmp/restart.txt")
end
end
end