mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
783763bde9
The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
56 lines
1.4 KiB
Ruby
56 lines
1.4 KiB
Ruby
require "isolation/abstract_unit"
|
|
|
|
module ApplicationTests
|
|
class BinSetupTest < ActiveSupport::TestCase
|
|
include ActiveSupport::Testing::Isolation
|
|
|
|
def setup
|
|
build_app
|
|
end
|
|
|
|
def teardown
|
|
teardown_app
|
|
end
|
|
|
|
def test_bin_setup
|
|
Dir.chdir(app_path) do
|
|
app_file "db/schema.rb", <<-RUBY
|
|
ActiveRecord::Schema.define(version: 20140423102712) do
|
|
create_table(:articles) {}
|
|
end
|
|
RUBY
|
|
|
|
list_tables = lambda { `bin/rails runner 'p ActiveRecord::Base.connection.tables'`.strip }
|
|
File.write("log/test.log", "zomg!")
|
|
|
|
assert_equal "[]", list_tables.call
|
|
assert_equal 5, File.size("log/test.log")
|
|
assert_not File.exist?("tmp/restart.txt")
|
|
`bin/setup 2>&1`
|
|
assert_equal 0, File.size("log/test.log")
|
|
assert_equal '["articles", "schema_migrations", "ar_internal_metadata"]', list_tables.call
|
|
assert File.exist?("tmp/restart.txt")
|
|
end
|
|
end
|
|
|
|
def test_bin_setup_output
|
|
Dir.chdir(app_path) do
|
|
app_file "db/schema.rb", ""
|
|
|
|
output = `bin/setup 2>&1`
|
|
assert_equal(<<-OUTPUT, output)
|
|
== Installing dependencies ==
|
|
The Gemfile's dependencies are satisfied
|
|
|
|
== Preparing database ==
|
|
Created database 'db/development.sqlite3'
|
|
Created database 'db/test.sqlite3'
|
|
|
|
== Removing old logs and tempfiles ==
|
|
|
|
== Restarting application server ==
|
|
OUTPUT
|
|
end
|
|
end
|
|
end
|
|
end
|