Files
nairobi/spec/features/admin/site_customization/information_texts_spec.rb
2019-02-15 11:40:39 +01:00

129 lines
3.9 KiB
Ruby

require "rails_helper"
feature "Admin custom information texts" do
background do
admin = create(:administrator)
login_as(admin.user)
end
it_behaves_like "translatable",
"i18n_content",
"admin_site_customization_information_texts_path",
%w[value]
scenario "page is correctly loaded" do
visit admin_site_customization_information_texts_path
click_link "Debates"
expect(page).to have_content "Help about debates"
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", :js do
key = "debates.form.debate_title"
visit admin_site_customization_information_texts_path
select "Français", from: "translation_locale"
fill_in "contents_content_#{key}values_value_fr", with: "Titre personalise du débat"
click_button "Save"
expect(page).to have_content "Translation updated successfully"
select "Français", from: "translation_locale"
expect(page).to have_content "Titre personalise du débat"
expect(page).not_to have_content "Titre du débat"
end
scenario "Update a translation", :js do
key = "debates.form.debate_title"
content = create(:i18n_content, key: key, value_fr: "Titre personalise du débat")
visit admin_site_customization_information_texts_path
select "Français", from: "translation_locale"
fill_in "contents_content_#{key}values_value_fr", with: "Titre personalise again du débat"
click_button "Save"
expect(page).to have_content "Translation updated successfully"
click_link "Français"
expect(page).to have_content "Titre personalise again du débat"
expect(page).not_to have_content "Titre personalise du débat"
end
scenario "Remove a translation", :js do
first_key = "debates.form.debate_title"
debate_title = create(:i18n_content, key: first_key,
value_en: "Custom debate title",
value_es: "Título personalizado de debate")
second_key = "debates.form.debate_text"
debate_text = create(:i18n_content, key: second_key,
value_en: "Custom debate text",
value_es: "Texto personalizado de debate")
visit admin_site_customization_information_texts_path
click_link "Español"
click_link "Remove language"
click_button "Save"
expect(page).not_to have_link "Español"
click_link "English"
expect(page).to have_content "Custom debate text"
expect(page).to have_content "Custom debate title"
debate_title.reload
debate_text.reload
expect(debate_text.value_es).to be(nil)
expect(debate_title.value_es).to be(nil)
expect(debate_text.value_en).to eq("Custom debate text")
expect(debate_title.value_en).to eq("Custom debate title")
end
end
end