aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorPat Allan <pat@freelancing-gods.com>2012-06-17 01:44:29 +0200
committerPat Allan <pat@freelancing-gods.com>2012-06-17 01:51:33 +0200
commit619453d594187bc53b4c20d57e7821d8c166b71b (patch)
tree3b6e5d2492d3c93a619699bef65be022823ae401 /activerecord/test/cases
parent08477a651648ba4417ded128aa37b9ae0dcbc9ce (diff)
downloadrails-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.rb53
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