Using placeholders having similar (or identical) text as already present as a label has a few issues. First, it's a distraction. Reading the same information twice is useless, requires an extra effort, and might even frustrate users. Second, if users start typing before reading the placeholder and see it disappear, they might think they're missing relevant information, delete what they typed, and read the placeholder. That will get them nowhere. Finally, we display placeholders using a text offering very low contrast against the background, so users don't think the placeholder is an actual value entered in the field. Using such low contrast makes the text hard to read, particularly for users with visual impairments. So we're removing these placeholders. This commit only deals with placeholder texts with similar (or identical) texts as the label text. There might be other places where we should replace placeholder texts with labels, but that's a different topic.
126 lines
4.2 KiB
Ruby
126 lines
4.2 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 about debates"
|
|
expect(page).to have_content "Help about proposals"
|
|
expect(page).to have_content "Help about voting"
|
|
expect(page).to have_content "Help about 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"
|
|
|
|
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(find("a[href=\"/admin/site_customization/information_texts?tab=proposals\"].is-active"))
|
|
.to have_content "Proposals"
|
|
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: :select_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: :select_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: :select_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: :select_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: :select_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
|