mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-10 03:30:22 +00:00
It would be good to know if it breaks! I didn't think it worth updating every single settings specs to test for this... But I've tested on the 'general settings' page because this is the default page when clicking on 'Configuration'.
77 lines
2.3 KiB
Ruby
77 lines
2.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'system_helper'
|
|
|
|
RSpec.describe "General Settings" do
|
|
include AuthenticationHelper
|
|
|
|
before do
|
|
login_as_admin
|
|
visit spree.admin_dashboard_path
|
|
click_link "Configuration"
|
|
click_link "General Settings"
|
|
end
|
|
|
|
context "visiting general settings (admin)" do
|
|
it "should have the right content" do
|
|
expect(page).to have_content("General Settings")
|
|
expect(find("#site_name").value).to eq("OFN Demo Site")
|
|
expect(find("#site_url").value).to eq("demo.openfoodnetwork.org")
|
|
|
|
# and it has contextual navigation
|
|
expect(page).to have_link "General Settings"
|
|
end
|
|
end
|
|
|
|
context "editing general settings (admin)" do
|
|
it "should be able to update the site name" do
|
|
fill_in "site_name", with: "OFN Demo Site99"
|
|
update_and_assert_message
|
|
expect(find("#site_name").value).to eq("OFN Demo Site99")
|
|
end
|
|
end
|
|
|
|
context 'editing currency symbol position' do
|
|
it 'updates its position' do
|
|
expect(page).to have_content('Currency Settings')
|
|
|
|
within('.currency') do
|
|
find("[for='currency_symbol_position_after']").click
|
|
end
|
|
update_and_assert_message
|
|
expect(page).to have_checked_field('10.00 $')
|
|
end
|
|
|
|
it "changes the currency decimal separator" do
|
|
expect(Spree::Config.preferred_currency_decimal_mark).to eq('.')
|
|
fill_in "currency_decimal_mark", with: ','
|
|
update_and_assert_message
|
|
expect(Spree::Config.preferred_currency_decimal_mark).to eq(',')
|
|
end
|
|
|
|
it "changes the currency thousands separator" do
|
|
expect(Spree::Config.preferred_currency_thousands_separator).to eq(',')
|
|
fill_in "currency_thousands_separator", with: '.'
|
|
update_and_assert_message
|
|
expect(Spree::Config.preferred_currency_thousands_separator).to eq('.')
|
|
end
|
|
end
|
|
|
|
context "editing number localization preferences" do
|
|
it "enables international thousand/decimal separator logic" do
|
|
find("#enable_localized_number_").set "true"
|
|
update_and_assert_message
|
|
expect(Spree::Config.preferred_enable_localized_number?).to eq(true)
|
|
end
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def update_and_assert_message
|
|
click_button 'Update'
|
|
within("[class='flash success']") do
|
|
expect(page).to have_content("General Settings has been successfully updated!")
|
|
end
|
|
end
|