From 098e4d25f19f2b932841401fdc5e7340876d8ff2 Mon Sep 17 00:00:00 2001 From: Roberto Miranda Date: Tue, 2 Apr 2019 15:11:09 +0100 Subject: Add test cases for rake db:prepare --- railties/test/application/rake/dbs_test.rb | 9 +++++++++ railties/test/application/rake/multi_dbs_test.rb | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+) (limited to 'railties/test/application/rake') diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb index a1e237fa7b..ba8de8adc9 100644 --- a/railties/test/application/rake/dbs_test.rb +++ b/railties/test/application/rake/dbs_test.rb @@ -553,6 +553,15 @@ module ApplicationTests end end end + + test "db:prepare setup the database" do + Dir.chdir(app_path) do + rails "generate", "model", "book", "title:string" + output = rails("db:prepare") + + assert_match /CreateBooks: migrated/, output + end + end end end end diff --git a/railties/test/application/rake/multi_dbs_test.rb b/railties/test/application/rake/multi_dbs_test.rb index d676e7486e..2c7cfbc0c6 100644 --- a/railties/test/application/rake/multi_dbs_test.rb +++ b/railties/test/application/rake/multi_dbs_test.rb @@ -137,6 +137,21 @@ module ApplicationTests end end + def db_prepare + Dir.chdir(app_path) do + generate_models_for_animals + output = rails("db:prepare") + + ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).each do |db_config| + if db_config.spec_name == "primary" + assert_match(/CreateBooks: migrated/, output) + else + assert_match(/CreateDogs: migrated/, output) + end + end + end + end + def write_models_for_animals # make a directory for the animals migration FileUtils.mkdir_p("#{app_path}/db/animals_migrate") @@ -175,6 +190,7 @@ module ApplicationTests test "db:create and db:drop works on all databases for env" do require "#{app_path}/config/environment" + ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).each do |db_config| db_create_and_drop db_config.spec_name, db_config.config["database"] end @@ -226,6 +242,11 @@ module ApplicationTests require "#{app_path}/config/environment" db_migrate_and_schema_cache_dump_and_schema_cache_clear end + + test "db:prepare works on all databases" do + require "#{app_path}/config/environment" + db_prepare + end end end end -- cgit v1.2.3 From 900e566a6b8eab17a9955c9be84d2443dc837995 Mon Sep 17 00:00:00 2001 From: Roberto Miranda Date: Tue, 2 Apr 2019 16:45:37 +0100 Subject: =?UTF-8?q?=F0=9F=92=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- railties/test/application/rake/dbs_test.rb | 2 +- railties/test/application/rake/multi_dbs_test.rb | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) (limited to 'railties/test/application/rake') diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb index ba8de8adc9..3750af4d44 100644 --- a/railties/test/application/rake/dbs_test.rb +++ b/railties/test/application/rake/dbs_test.rb @@ -559,7 +559,7 @@ module ApplicationTests rails "generate", "model", "book", "title:string" output = rails("db:prepare") - assert_match /CreateBooks: migrated/, output + assert_match(/CreateBooks: migrated/, output) end end end diff --git a/railties/test/application/rake/multi_dbs_test.rb b/railties/test/application/rake/multi_dbs_test.rb index 2c7cfbc0c6..147b8f94e1 100644 --- a/railties/test/application/rake/multi_dbs_test.rb +++ b/railties/test/application/rake/multi_dbs_test.rb @@ -190,7 +190,6 @@ module ApplicationTests test "db:create and db:drop works on all databases for env" do require "#{app_path}/config/environment" - ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).each do |db_config| db_create_and_drop db_config.spec_name, db_config.config["database"] end -- cgit v1.2.3 From 1c7dcffb647f83c9d2b32de2f7faf4137958be2a Mon Sep 17 00:00:00 2001 From: Roberto Miranda Date: Tue, 2 Apr 2019 17:50:28 +0100 Subject: Add migration in case of db:drop assertion --- railties/test/application/rake/dbs_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'railties/test/application/rake') diff --git a/railties/test/application/rake/dbs_test.rb b/railties/test/application/rake/dbs_test.rb index 3750af4d44..a6020a5161 100644 --- a/railties/test/application/rake/dbs_test.rb +++ b/railties/test/application/rake/dbs_test.rb @@ -558,8 +558,15 @@ module ApplicationTests Dir.chdir(app_path) do rails "generate", "model", "book", "title:string" output = rails("db:prepare") + assert_match(/CreateBooks: migrated/, output) + output = rails("db:drop") + assert_match(/Dropped database/, output) + + rails "generate", "model", "recipe", "title:string" + output = rails("db:prepare") assert_match(/CreateBooks: migrated/, output) + assert_match(/CreateRecipes: migrated/, output) end end end -- cgit v1.2.3