We get rid of database cleaner, and JavaScript tests are faster because between tests we now rollback transactions instead of truncating the database.
48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Localization" do
|
|
before do
|
|
login_as_manager
|
|
end
|
|
|
|
scenario "Wrong locale" do
|
|
visit management_root_path(locale: :es)
|
|
visit management_root_path(locale: :klingon)
|
|
|
|
expect(page).to have_text("Gestión")
|
|
end
|
|
|
|
scenario "Available locales appear in the locale switcher" do
|
|
visit management_root_path
|
|
|
|
within(".locale-form .js-location-changer") do
|
|
expect(page).to have_content "Español"
|
|
expect(page).to have_content "English"
|
|
end
|
|
end
|
|
|
|
scenario "The current locale is selected" do
|
|
visit management_root_path
|
|
expect(page).to have_select("locale-switcher", selected: "English")
|
|
expect(page).to have_text("Management")
|
|
end
|
|
|
|
scenario "Changing the locale", :js do
|
|
visit management_root_path
|
|
expect(page).to have_content("Language")
|
|
|
|
select("Español", from: "locale-switcher")
|
|
expect(page).to have_content("Idioma")
|
|
expect(page).not_to have_content("Language")
|
|
expect(page).to have_select("locale-switcher", selected: "Español")
|
|
end
|
|
|
|
scenario "Locale switcher not present if only one locale" do
|
|
allow(I18n).to receive(:available_locales).and_return([:en])
|
|
|
|
visit management_root_path
|
|
expect(page).not_to have_content("Language")
|
|
expect(page).not_to have_css("div.locale")
|
|
end
|
|
end
|