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
62 lines
2.2 KiB
Ruby
62 lines
2.2 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Remote Translations" do
|
|
before do
|
|
Setting["feature.remote_translations"] = true
|
|
create(:proposal)
|
|
available_locales_response = %w[de en es fr pt zh-Hans]
|
|
expect(RemoteTranslations::Microsoft::AvailableLocales).to receive(:available_locales).
|
|
and_return(available_locales_response)
|
|
end
|
|
|
|
describe "Display remote translation button when locale is included in microsoft translate client" do
|
|
context "with locale that has :en fallback" do
|
|
before do
|
|
allow(I18n.fallbacks).to receive(:[]).and_return([:en])
|
|
Globalize.set_fallbacks_to_all_available_locales
|
|
end
|
|
|
|
scenario "should display text in English" do
|
|
visit root_path(locale: :de)
|
|
|
|
expect(page).to have_css ".remote-translations-button"
|
|
expect(page).to have_content "The content of this page is not available in your language"
|
|
end
|
|
|
|
scenario "should display text in English after parse key" do
|
|
visit root_path(locale: :"zh-CN")
|
|
|
|
expect(page).to have_css ".remote-translations-button"
|
|
expect(page).to have_content "The content of this page is not available in your language"
|
|
end
|
|
end
|
|
|
|
context "with locale that has :en fallback" do
|
|
before do
|
|
allow(I18n.fallbacks).to receive(:[]).and_return([:es])
|
|
Globalize.set_fallbacks_to_all_available_locales
|
|
end
|
|
|
|
scenario "with locale that has :es fallback" do
|
|
visit root_path(locale: :fr)
|
|
|
|
expect(page).to have_css ".remote-translations-button"
|
|
expect(page).to have_content "El contenido de esta página no está disponible en tu idioma"
|
|
end
|
|
|
|
scenario "with locale that has :es fallback and need parse key" do
|
|
visit root_path(locale: :"pt-BR")
|
|
|
|
expect(page).to have_css ".remote-translations-button"
|
|
expect(page).to have_content "El contenido de esta página no está disponible en tu idioma"
|
|
end
|
|
end
|
|
end
|
|
|
|
scenario "Not display remote translation button when locale is not included in microsoft translate client" do
|
|
visit root_path(locale: :nl)
|
|
|
|
expect(page).not_to have_css ".remote-translations-button"
|
|
end
|
|
end
|