У нас есть многодоменное приложение, где каждый сайт может иметь несколько доменов (для локалей).
ApplicationController делает
def load_site
@site = Site.find_by!("domains like '%#{request.host}%'")
end
В моем наборе тестов я просто хочу убедиться, что веб-сайт отображается
spec/features/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 всегда его убивает.
У меня неправильное понимание или я что-то упускаю?