diff options
author | Pat Allan <pat@freelancing-gods.com> | 2012-06-17 01:44:29 +0200 |
---|---|---|
committer | Pat Allan <pat@freelancing-gods.com> | 2012-06-17 01:51:33 +0200 |
commit | 619453d594187bc53b4c20d57e7821d8c166b71b (patch) | |
tree | 3b6e5d2492d3c93a619699bef65be022823ae401 /activerecord/test/cases | |
parent | 08477a651648ba4417ded128aa37b9ae0dcbc9ce (diff) | |
download | rails-619453d594187bc53b4c20d57e7821d8c166b71b.tar.gz rails-619453d594187bc53b4c20d57e7821d8c166b71b.tar.bz2 rails-619453d594187bc53b4c20d57e7821d8c166b71b.zip |
A beginning of sorts.
Minimal implementation that supports db:create SQLite replacement
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/sqlite_rake_test.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/activerecord/test/cases/sqlite_rake_test.rb b/activerecord/test/cases/sqlite_rake_test.rb new file mode 100644 index 0000000000..069c168952 --- /dev/null +++ b/activerecord/test/cases/sqlite_rake_test.rb @@ -0,0 +1,53 @@ +require 'cases/helper' + +module ActiveRecord + class SqliteRakeTest < ActiveRecord::TestCase + def setup + @database = "db_create.sqlite3" + @connection = stub :connection + @configuration = { + 'adapter' => 'sqlite3', + 'database' => @database + } + + File.stubs(:exist?).returns(false) + ActiveRecord::Base.stubs(:connection).returns(@connection) + ActiveRecord::Base.stubs(:establish_connection).returns(true) + end + + def test_db_checks_database_exists + File.expects(:exist?).with(@database).returns(false) + + ActiveRecord::Tasks::DatabaseTasks.create @configuration + end + + def test_db_create_when_file_exists + File.stubs(:exist?).returns(true) + + $stderr.expects(:puts).with("#{@database} already exists") + + ActiveRecord::Tasks::DatabaseTasks.create @configuration + end + + def test_db_create_establishes_a_connection + ActiveRecord::Base.expects(:establish_connection).with(@configuration) + + ActiveRecord::Tasks::DatabaseTasks.create @configuration + end + + def test_db_create_returns_the_connection + assert_equal ActiveRecord::Tasks::DatabaseTasks.create(@configuration), + @connection + end + + def test_db_create_with_error_prints_message + ActiveRecord::Base.stubs(:establish_connection).raises(Exception) + + $stderr.stubs(:puts).returns(true) + $stderr.expects(:puts). + with("Couldn't create database for #{@configuration.inspect}") + + ActiveRecord::Tasks::DatabaseTasks.create(@configuration) + end + end +end |