Files
nairobi/spec/system/admin/site_customization/information_texts_spec.rb
Javi Martín 16fc9998c4 Use labels in controls to add and select languages
The absence of labels in these controls made them hard to use,
particularly for people who use screen readers.

Note we're removing the "Choose language" prompt, since we always
automatically choose a language and not choosing a language doesn't
really make sense. The only scenario where the prompt was used took
place when all languages had been removed but, in that case, the "Choose
language" prompt was misleading because there were no languages to
choose from.
2024-11-08 14:22:44 +01:00

136 lines
4.6 KiB
Ruby

require "rails_helper"
describe "Admin custom information texts", :admin do
scenario "page is correctly loaded" do
visit admin_site_customization_information_texts_path
click_link "Basic customization"
expect(page).to have_content "Help with debates"
expect(page).to have_content "Help with proposals"
expect(page).to have_content "Help with voting"
expect(page).to have_content "Help with collaborative legislation"
expect(page).to have_content "Help with participatory budgets"
within("#information-texts-tabs") { click_link "Debates" }
expect(page).to have_content "Edit debate"
within("#information-texts-tabs") { click_link "Community" }
expect(page).to have_content "Access the community"
within("#information-texts-tabs") { click_link "Proposals" }
expect(page).to have_content "Create proposal"
within "#information-texts-tabs" do
click_link "Polls"
end
expect(page).to have_content "Results"
within("#information-texts-tabs") { click_link "Collaborative legislation" }
expect(page).to have_content "Help with collaborative legislation"
within("#information-texts-tabs") { click_link "Budgets" }
expect(page).to have_content "You have not voted any investment project."
click_link "Layouts"
expect(page).to have_content "Accessibility"
click_link "Emails"
expect(page).to have_content "Confirm your email"
within "#information-texts-tabs" do
click_link "Management"
end
expect(page).to have_content "This user account is already verified."
click_link "Welcome"
expect(page).to have_content "See all debates"
end
scenario "check that tabs are highlight when click it" do
visit admin_site_customization_information_texts_path
within("#information-texts-tabs") { click_link "Proposals" }
expect(page).to have_link "Proposals",
href: "/admin/site_customization/information_texts?tab=proposals",
class: "is-active"
end
context "Globalization" do
scenario "Add a translation" do
key = "debates.index.section_footer.title"
visit admin_site_customization_information_texts_path
select "Français", from: "Add language"
fill_in "contents[content_#{key}]values[value_fr]", with: "Aide personalise sur les débats"
click_button "Save"
expect(page).to have_content "Translation updated successfully"
visit admin_site_customization_information_texts_path
select "Français", from: "Current language"
expect(page).to have_content "Aide personalise sur les débats"
expect(page).not_to have_content "Aide sur les débats"
end
scenario "Update a translation" do
key = "proposals.show.share"
create(:i18n_content, key: key, value_fr: "Partager la proposition")
visit admin_site_customization_information_texts_path(tab: "proposals")
select "Français", from: "Current language"
fill_in "contents_content_#{key}values_value_fr", with: "Partager personalise"
click_button "Save"
expect(page).to have_content "Translation updated successfully"
visit admin_site_customization_information_texts_path(tab: "proposals")
select "Français", from: "Current language"
expect(page).to have_content "Partager personalise"
expect(page).not_to have_content "Partager la proposition"
end
scenario "Remove a translation" do
featured = create(:i18n_content, key: "debates.index.featured_debates",
value_en: "Custom featured",
value_es: "Destacar personalizado")
page_title = create(:i18n_content, key: "debates.new.start_new",
value_en: "Start a new debate",
value_es: "Empezar un debate")
visit admin_site_customization_information_texts_path(tab: "debates")
select "Español", from: "Current language"
click_link "Remove language"
click_button "Save"
expect(page).not_to have_link "Español"
visit admin_site_customization_information_texts_path(tab: "debates")
select "English", from: "Current language"
expect(page).to have_content "Start a new debate"
expect(page).to have_content "Custom featured"
featured.reload
page_title.reload
expect(page_title.value_es).to be nil
expect(featured.value_es).to be nil
expect(page_title.value_en).to eq "Start a new debate"
expect(featured.value_en).to eq "Custom featured"
end
end
end