From now on these static pages: `/privacy' `/conditions' `/accesibility' `/help/faq' `/welcome' have been moved to the DB and can be modified easily by any administrator in `/admin/site_customization/pages'
117 lines
3.7 KiB
Ruby
117 lines
3.7 KiB
Ruby
require "rails_helper"
|
|
|
|
feature "Custom Pages" do
|
|
|
|
context "New custom page" do
|
|
context "Draft" do
|
|
scenario "See page" do
|
|
custom_page = create(:site_customization_page,
|
|
slug: "other-slug",
|
|
title_en: "Custom page",
|
|
content_en: "Text for new custom page",
|
|
print_content_flag: false
|
|
)
|
|
|
|
visit custom_page.url
|
|
|
|
expect(page.status_code).to eq(404)
|
|
end
|
|
end
|
|
|
|
context "Published" do
|
|
scenario "See page" do
|
|
custom_page = create(:site_customization_page, :published,
|
|
slug: "other-slug",
|
|
title_en: "Custom page",
|
|
content_en: "Text for new custom page",
|
|
print_content_flag: false
|
|
)
|
|
|
|
visit custom_page.url
|
|
|
|
expect(page).to have_title("Custom page")
|
|
expect(page).to have_selector("h1", text: "Custom page")
|
|
expect(page).to have_content("Text for new custom page")
|
|
expect(page).not_to have_content("Print this info")
|
|
end
|
|
|
|
scenario "Show all fields and text with links" do
|
|
custom_page = create(:site_customization_page, :published,
|
|
slug: "slug-with-all-fields-filled",
|
|
title_en: "Custom page",
|
|
subtitle_en: "This is my new custom page",
|
|
content_en: "Text for new custom page with a link to https://consul.dev",
|
|
print_content_flag: true
|
|
)
|
|
|
|
visit custom_page.url
|
|
|
|
expect(page).to have_title("Custom page")
|
|
expect(page).to have_selector("h1", text: "Custom page")
|
|
expect(page).to have_selector("h2", text: "This is my new custom page")
|
|
expect(page).to have_content("Text for new custom page with a link to https://consul.dev")
|
|
expect(page).to have_link("https://consul.dev")
|
|
expect(page).to have_content("Print this info")
|
|
end
|
|
|
|
scenario "Don't show subtitle if its blank" do
|
|
custom_page = create(:site_customization_page, :published,
|
|
slug: "slug-without-subtitle",
|
|
title_en: "Custom page",
|
|
subtitle_en: "",
|
|
content_en: "Text for new custom page",
|
|
print_content_flag: false
|
|
)
|
|
|
|
visit custom_page.url
|
|
|
|
expect(page).to have_title("Custom page")
|
|
expect(page).to have_selector("h1", text: "Custom page")
|
|
expect(page).to have_content("Text for new custom page")
|
|
expect(page).not_to have_selector("h2")
|
|
expect(page).not_to have_content("Print this info")
|
|
end
|
|
|
|
scenario "Listed in more information page" do
|
|
custom_page = create(:site_customization_page, :published,
|
|
slug: "another-slug",
|
|
title_en: "Another custom page",
|
|
subtitle_en: "Subtitle for custom page",
|
|
more_info_flag: true
|
|
)
|
|
|
|
visit help_path
|
|
|
|
expect(page).to have_content("Another custom page")
|
|
end
|
|
|
|
scenario "Not listed in more information page" do
|
|
custom_page = create(:site_customization_page, :published,
|
|
slug: "another-slug", title_en: "Another custom page",
|
|
subtitle_en: "Subtitle for custom page",
|
|
more_info_flag: false
|
|
)
|
|
|
|
visit help_path
|
|
|
|
expect(page).not_to have_content("Another custom page")
|
|
|
|
visit custom_page.url
|
|
|
|
expect(page).to have_title("Another custom page")
|
|
expect(page).to have_selector("h1", text: "Another custom page")
|
|
expect(page).to have_content("Subtitle for custom page")
|
|
end
|
|
|
|
scenario "Show widget cards for that page" do
|
|
custom_page = create(:site_customization_page, :published)
|
|
create(:widget_card, page: custom_page, title: "Card Highlights")
|
|
|
|
visit custom_page.url
|
|
|
|
expect(page).to have_content "Card Highlights"
|
|
end
|
|
end
|
|
end
|
|
end
|