mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
76 lines
2.6 KiB
Ruby
76 lines
2.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "system_helper"
|
|
|
|
RSpec.describe "
|
|
As a site administrator
|
|
I want to configure the site content
|
|
" do
|
|
include AuthenticationHelper
|
|
include FileHelper
|
|
include WebHelper
|
|
|
|
before do
|
|
login_as_admin
|
|
visit spree.edit_admin_general_settings_path
|
|
click_link "Content"
|
|
end
|
|
|
|
it "fills in a setting shows the result on the home page" do
|
|
fill_in "footer_facebook_url", with: ""
|
|
fill_in "footer_twitter_url", with: "http://twitter.com/me"
|
|
fill_in "footer_links_md", with: "[markdown link](/:/?#@!$&'()*+,;=0123456789" \
|
|
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)"
|
|
click_button "Update"
|
|
expect(page).to have_content "Your content has been successfully updated!"
|
|
|
|
visit root_path
|
|
|
|
# Then social media icons are only shown if they have a value
|
|
expect(page).not_to have_selector "i.ofn-i_044-facebook"
|
|
expect(page).to have_selector "i.ofn-i_041-twitter"
|
|
|
|
# And markdown is rendered
|
|
# expect(page).to have_link "markdown link" and the correct href
|
|
expect(page).to have_selector :link, "markdown link", href:
|
|
"/:/?#@!$&'()*+,;=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
end
|
|
|
|
it "uploads logos" do
|
|
attach_file "logo", white_logo_path
|
|
click_button "Update"
|
|
expect(page).to have_content "Your content has been successfully updated!"
|
|
|
|
expect(ContentConfig.url_for(:logo)).to include "logo-white"
|
|
end
|
|
|
|
it "sets the user guide link" do
|
|
fill_in "user_guide_link", with: "http://www.openfoodnetwork.org/platform/user-guide/"
|
|
click_button "Update"
|
|
|
|
expect(page).to have_content "Your content has been successfully updated!"
|
|
|
|
visit spree.admin_dashboard_path
|
|
|
|
expect(page).to have_link("User Guide", href: "http://www.openfoodnetwork.org/platform/user-guide/")
|
|
expect(find_link("User Guide")[:target]).to eq("_blank")
|
|
end
|
|
|
|
it "sets home page alert message, supporting HTML formatting" do
|
|
fill_in "home_page_alert_html", with: '<h6>Click me: </h6>' \
|
|
'<a href="http://localhost/shops/">' \
|
|
'<strong>Bold hyperlink</strong></a>'
|
|
click_button "Update"
|
|
expect(page).to have_content "Your content has been successfully updated!"
|
|
|
|
visit root_path
|
|
|
|
within ".page-alert" do
|
|
expect(page).to have_content "Click me: "
|
|
expect(page).to have_selector "h6", text: "Click me: "
|
|
expect(page).to have_link "Bold hyperlink", href: "http://localhost/shops/"
|
|
expect(page).to have_selector "a strong", text: "Bold hyperlink"
|
|
end
|
|
end
|
|
end
|