Adapt shared specs to new translations interface
This commit is contained in:
@@ -126,7 +126,7 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
scenario "Add a translation", :js do
|
||||
visit path
|
||||
|
||||
select "Français", from: "translation_locale"
|
||||
select "Français", from: :add_language
|
||||
fields.each { |field| fill_in_field field, :fr, with: text_for(field, :fr) }
|
||||
click_button update_button_text
|
||||
|
||||
@@ -135,10 +135,10 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
|
||||
expect_page_to_have_translatable_field field, :en, with: text_for(field, :en)
|
||||
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
expect_page_to_have_translatable_field field, :es, with: text_for(field, :es)
|
||||
|
||||
click_link "Français"
|
||||
select "Français", from: :select_language
|
||||
expect_page_to_have_translatable_field field, :fr, with: text_for(field, :fr)
|
||||
end
|
||||
|
||||
@@ -149,13 +149,13 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
|
||||
visit path
|
||||
|
||||
select "Français", from: "translation_locale"
|
||||
select "Français", from: :add_language
|
||||
fill_in_field field, :fr, with: ""
|
||||
click_button update_button_text
|
||||
|
||||
expect(page).to have_css "#error_explanation"
|
||||
|
||||
click_link "Français"
|
||||
select "Français", from: :select_language
|
||||
|
||||
expect_page_to_have_translatable_field field, :fr, with: ""
|
||||
end
|
||||
@@ -163,7 +163,7 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
scenario "Update a translation", :js do
|
||||
visit path
|
||||
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
field = fields.sample
|
||||
updated_text = "Corrección de #{text_for(field, :es)}"
|
||||
|
||||
@@ -186,7 +186,7 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
field = required_fields.sample
|
||||
|
||||
visit path
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
|
||||
expect_page_to_have_translatable_field field, :es, with: text_for(field, :es)
|
||||
|
||||
@@ -195,22 +195,21 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
|
||||
expect(page).to have_css "#error_explanation"
|
||||
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
|
||||
expect_page_to_have_translatable_field field, :es, with: ""
|
||||
end
|
||||
|
||||
scenario "Update a translation not having the current locale", :js do
|
||||
translatable.translations.destroy_all
|
||||
|
||||
translatable.translations.create(
|
||||
fields.map { |field| [field, text_for(field, :fr)] }.to_h.merge(locale: :fr)
|
||||
)
|
||||
|
||||
visit path
|
||||
|
||||
expect(page).not_to have_link "English"
|
||||
expect(page).to have_link "Français"
|
||||
expect_to_have_language_selected "Français"
|
||||
expect_not_to_have_language "English"
|
||||
|
||||
click_button update_button_text
|
||||
|
||||
@@ -219,22 +218,22 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
path = updated_path_for(translatable)
|
||||
visit path
|
||||
|
||||
expect(page).not_to have_link "English"
|
||||
expect(page).to have_link "Français"
|
||||
expect_to_have_language_selected "Français"
|
||||
expect_not_to_have_language "English"
|
||||
end
|
||||
|
||||
scenario "Remove a translation", :js do
|
||||
visit path
|
||||
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
click_link "Remove language"
|
||||
|
||||
expect(page).not_to have_link "Español"
|
||||
expect_not_to_have_language "Español"
|
||||
|
||||
click_button update_button_text
|
||||
|
||||
visit path
|
||||
expect(page).not_to have_link "Español"
|
||||
expect_not_to_have_language "Español"
|
||||
end
|
||||
|
||||
scenario "Remove a translation with invalid data", :js do
|
||||
@@ -244,19 +243,20 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
|
||||
visit path
|
||||
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
click_link "Remove language"
|
||||
|
||||
click_link "English"
|
||||
select "English", from: :select_language
|
||||
fill_in_field field, :en, with: ""
|
||||
click_button update_button_text
|
||||
|
||||
expect(page).to have_css "#error_explanation"
|
||||
expect_page_to_have_translatable_field field, :en, with: ""
|
||||
expect(page).not_to have_link "Español"
|
||||
expect_to_have_language_selected "English"
|
||||
expect_not_to_have_language "Español"
|
||||
|
||||
visit path
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
|
||||
expect_page_to_have_translatable_field field, :es, with: text_for(field, :es)
|
||||
end
|
||||
@@ -279,7 +279,7 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
scenario "Add a translation for a locale with non-underscored name", :js do
|
||||
visit path
|
||||
|
||||
select "Português brasileiro", from: "translation_locale"
|
||||
select "Português brasileiro", from: :add_language
|
||||
fields.each { |field| fill_in_field field, :"pt-BR", with: text_for(field, :"pt-BR") }
|
||||
click_button update_button_text
|
||||
|
||||
@@ -293,24 +293,22 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
end
|
||||
|
||||
context "Globalize javascript interface" do
|
||||
scenario "Highlight current locale", :js do
|
||||
scenario "Select current locale when its translation exists", :js do
|
||||
visit path
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "English"
|
||||
expect_to_have_language_selected "English"
|
||||
|
||||
select("Español", from: "locale-switcher")
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español"
|
||||
expect_to_have_language_selected "Español"
|
||||
end
|
||||
|
||||
scenario "Highlight selected locale", :js do
|
||||
scenario "Select first locale of existing translations when current locale translation
|
||||
does not exists", :js do
|
||||
translatable.translations.where(locale: :en).destroy_all
|
||||
visit path
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "English"
|
||||
|
||||
click_link "Español"
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español"
|
||||
expect_to_have_language_selected "Español"
|
||||
end
|
||||
|
||||
scenario "Show selected locale form", :js do
|
||||
@@ -319,7 +317,7 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
|
||||
expect_page_to_have_translatable_field field, :en, with: text_for(field, :en)
|
||||
|
||||
click_link "Español"
|
||||
select "Español", from: :select_language
|
||||
|
||||
expect_page_to_have_translatable_field field, :es, with: text_for(field, :es)
|
||||
end
|
||||
@@ -327,12 +325,9 @@ shared_examples "edit_translatable" do |factory_name, path_name, input_fields, t
|
||||
scenario "Select a locale and add it to the form", :js do
|
||||
visit path
|
||||
|
||||
select "Français", from: "translation_locale"
|
||||
|
||||
expect(page).to have_link "Français"
|
||||
|
||||
click_link "Français"
|
||||
select "Français", from: :add_language
|
||||
|
||||
expect_to_have_language_selected "Français"
|
||||
expect_page_to_have_translatable_field fields.sample, :fr, with: ""
|
||||
end
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ shared_examples "new_translatable" do |factory_name, path_name, input_fields, te
|
||||
visit new_translatable_path
|
||||
|
||||
fill_in_new_translatable_form :en
|
||||
select "Français", from: "translation_locale"
|
||||
select "Français", from: :add_language
|
||||
fill_in_new_translatable_form :fr
|
||||
click_button create_button_text
|
||||
|
||||
@@ -81,7 +81,7 @@ shared_examples "new_translatable" do |factory_name, path_name, input_fields, te
|
||||
scenario "Add only single translation at once not having the current locale", :js do
|
||||
visit new_translatable_path
|
||||
click_link "Remove language"
|
||||
select "Français", from: "translation_locale"
|
||||
select "Français", from: :add_language
|
||||
|
||||
fill_in_new_translatable_form :fr
|
||||
click_button create_button_text
|
||||
@@ -92,7 +92,7 @@ shared_examples "new_translatable" do |factory_name, path_name, input_fields, te
|
||||
scenario "Add a translation for a locale with non-underscored name", :js do
|
||||
visit new_translatable_path
|
||||
click_link "Remove language"
|
||||
select "Português brasileiro", from: "translation_locale"
|
||||
select "Português brasileiro", from: :add_language
|
||||
|
||||
fill_in_new_translatable_form :"pt-BR"
|
||||
click_button create_button_text
|
||||
@@ -127,7 +127,7 @@ shared_examples "new_translatable" do |factory_name, path_name, input_fields, te
|
||||
scenario "Highlight current locale", :js do
|
||||
visit new_translatable_path
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "English"
|
||||
expect_to_have_language_selected "English"
|
||||
end
|
||||
|
||||
scenario "Highlight new locale added", :js do
|
||||
@@ -135,24 +135,24 @@ shared_examples "new_translatable" do |factory_name, path_name, input_fields, te
|
||||
|
||||
select("Español", from: "locale-switcher")
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español"
|
||||
expect_to_have_language_selected "Español"
|
||||
end
|
||||
|
||||
scenario "Select a locale and add it to the form", :js do
|
||||
visit new_translatable_path
|
||||
|
||||
select "Français", from: "translation_locale"
|
||||
select "Français", from: :add_language
|
||||
|
||||
expect(find("a.js-globalize-locale-link.is-active")).to have_content "Français"
|
||||
expect_page_to_have_translatable_field fields.sample, :fr, with: ""
|
||||
end
|
||||
|
||||
scenario "Remove a translation", :js do
|
||||
visit new_translatable_path
|
||||
|
||||
expect(find("#select_language").value).to eq "en"
|
||||
click_link "Remove language"
|
||||
|
||||
expect(page).not_to have_link "English"
|
||||
expect_not_to_have_language("English")
|
||||
end
|
||||
|
||||
context "Languages in use" do
|
||||
|
||||
Reference in New Issue
Block a user