Skip to content

Commit

Permalink
Rename auto_migrate to DummyApp::Migrations
Browse files Browse the repository at this point in the history
It's cleaner to call a method (DummyApp::Migrations.auto_migrate) than
to expect side effects from requiring that file.
  • Loading branch information
jhawthorn committed Oct 27, 2017
1 parent 2f4b68c commit df0c5f7
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 21 deletions.
2 changes: 1 addition & 1 deletion api/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
ENV["LIB_NAME"] = 'solidus_api'

require 'spree/testing_support/dummy_app'
require 'spree/testing_support/dummy_app/auto_migrate'
DummyApp::Migrations.auto_migrate

require 'rspec/rails'
require 'ffaker'
Expand Down
2 changes: 1 addition & 1 deletion backend/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

require 'solidus_backend'
require 'spree/testing_support/dummy_app'
require 'spree/testing_support/dummy_app/auto_migrate'
DummyApp::Migrations.auto_migrate

require 'rails-controller-testing'
require 'rspec/rails'
Expand Down
2 changes: 1 addition & 1 deletion backend/spec/teaspoon_env.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
require 'teaspoon-mocha'

require 'spree/testing_support/dummy_app'
require 'spree/testing_support/dummy_app/auto_migrate'
DummyApp::Migrations.auto_migrate

Teaspoon.configure do |config|
config.mount_at = "/teaspoon"
Expand Down
4 changes: 3 additions & 1 deletion core/lib/spree/testing_support/dummy_app.rb
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ class Application < ::Rails::Application
end
end
config.paths['db/migrate'] = migration_dirs
ActiveRecord::Migrator.migrations_paths = migration_dirs

config.action_controller.include_all_helpers = false

Expand All @@ -81,7 +82,7 @@ class Application < ::Rails::Application
end
end

Spree.user_class = 'Spree::LegacyUser'
require 'spree/testing_support/dummy_app/migrations'

DummyApp::Application.initialize!

Expand All @@ -93,6 +94,7 @@ class Application < ::Rails::Application
wrap_parameters format: [:json]
end

Spree.user_class = 'Spree::LegacyUser'
Spree.config do |config|
config.mails_from = "[email protected]"
end
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

module DummyApp
class AutoMigrate
module Migrations
extend self

# Ensure database exists
def database_exists?
ActiveRecord::Base.connection
Expand All @@ -10,8 +11,12 @@ def database_exists?
true
end

def migrate
if !database_exists? || ActiveRecord::Migrator.needs_migration?
def needs_migration?
!database_exists? || ActiveRecord::Migrator.needs_migration?
end

def auto_migrate
if needs_migration?
puts "Configuration changed. Re-running migrations"
sh 'rake db:reset VERBOSE=false'

Expand All @@ -28,13 +33,3 @@ def sh(cmd)
end
end
end

ActiveRecord::Migrator.migrations_paths = Rails.application.migration_railties.flat_map do |engine|
if engine.respond_to?(:paths)
engine.paths['db/migrate'].to_a
else
[]
end
end

DummyApp::AutoMigrate.new.migrate
2 changes: 1 addition & 1 deletion core/spec/rails_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
ENV["LIB_NAME"] = 'solidus_core'

require 'spree/testing_support/dummy_app'
require 'spree/testing_support/dummy_app/auto_migrate'
DummyApp::Migrations.auto_migrate

require 'rspec/rails'
require 'rspec-activemodel-mocks'
Expand Down
2 changes: 1 addition & 1 deletion frontend/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

require 'solidus_frontend'
require 'spree/testing_support/dummy_app'
require 'spree/testing_support/dummy_app/auto_migrate'
DummyApp::Migrations.auto_migrate

require 'rspec/rails'
require 'ffaker'
Expand Down
2 changes: 1 addition & 1 deletion sample/spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

require 'solidus_sample'
require 'spree/testing_support/dummy_app'
require 'spree/testing_support/dummy_app/auto_migrate'
DummyApp::Migrations.auto_migrate

require 'rspec/rails'
require 'ffaker'
Expand Down

0 comments on commit df0c5f7

Please sign in to comment.