We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
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
|