Files
nairobi/spec/features/localization_spec.rb
Javi Martín db97f9d08c Add and apply rubocop rules for empty lines
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
2019-10-24 17:11:47 +02:00

83 lines
2.2 KiB
Ruby

require "rails_helper"
describe "Localization" do
scenario "Wrong locale" do
I18n.with_locale(:es) do
create(:widget_card, title: "Bienvenido a CONSUL",
description: "Software libre para la participación ciudadana.",
link_text: "Más información",
link_url: "http://consulproject.org/",
header: true)
end
visit root_path(locale: :es)
visit root_path(locale: :klingon)
expect(page).to have_text("Bienvenido a CONSUL")
end
scenario "Available locales appear in the locale switcher" do
visit "/"
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 "/"
expect(page).to have_select("locale-switcher", selected: "English")
end
scenario "Changing the locale", :js do
visit "/"
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
context "Only one locale" do
before do
allow(I18n).to receive(:available_locales).and_return([:en])
I18n.reload!
end
after { I18n.reload! }
scenario "Locale switcher not present" do
visit "/"
expect(page).not_to have_content("Language")
expect(page).not_to have_css("div.locale")
end
end
context "Missing language names" do
let!(:default_enforce) { I18n.enforce_available_locales }
let!(:default_locales) { I18n.available_locales.dup }
before do
I18n.enforce_available_locales = false
I18n.available_locales = default_locales + [:wl]
I18n.locale = :wl
end
after do
I18n.enforce_available_locales = default_enforce
I18n.available_locales = default_locales
I18n.locale = I18n.default_locale
end
scenario "Available locales without language translation display locale key" do
visit "/"
within(".locale-form .js-location-changer") do
expect(page).to have_content "wl"
end
end
end
end