Adapt shared specs to new translations interface

This commit is contained in:
Senén Rodero Rodríguez
2019-05-31 20:26:16 +02:00
parent faed5857c3
commit c0b4bb67eb
2 changed files with 39 additions and 44 deletions

View File

@@ -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