各サイトが複数のドメインを持つことができるマルチドメイン アプリケーションがあります (ロケール用)。
ApplicationControllerがやっている
def load_site
@site = Site.find_by!("domains like '%#{request.host}%'")
end
私のテストスイートでは、ウェブサイトが表示されていることを確認したいだけです
仕様/機能/user_visits_homepage_spec.rb
require "rails_helper"
feature "User visits Homepage" do
site = FactoryGirl.create :site
scenario "successfully", js: true do
visit root_path
expect(page).to have_css "h1", text: site.name
end
end
私のdatabase_cleaner.rb
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
質問
サイトがないとコントローラーが機能しないため、常に1つのサイトがあることをどのように保証できますか。
私が行ったようにサイトを作成すると、database_cleaner は常にサイトを強制終了します。
私は間違った理解を持っていますか、それとも何かを見逃していますか?