Skip to content

Commit

Permalink
Move :show_store_selector preference to frontend gem
Browse files Browse the repository at this point in the history
  • Loading branch information
damianlegawiec committed Sep 21, 2021
1 parent ebc19f7 commit 33e028f
Show file tree
Hide file tree
Showing 9 changed files with 7 additions and 93 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,6 @@ def clear_cache
head :no_content
end

def render(*args)
@preferences_currency |= [:show_store_selector]
super
end

private

def update_currency_settings
Expand Down
21 changes: 0 additions & 21 deletions backend/app/views/spree/admin/general_settings/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -75,27 +75,6 @@
</div>
</div>
</div>

<div class="card mb-3" id="general-settings-stores" data-hook="general_settings_stores">
<div class="card-header">
<h1 class="card-title mb-0 h5">
<%= Spree.t(:multiple_stores) %>
</h1>
</div>
<div class="card-body">
<div class="alert alert-warning col-12">
<%= Spree.t('show_store_selector.long') %>
</div>
<div class="form-group">
<div class="checkbox">
<label>
<%= check_box('', :show_store_selector, { checked: Spree::Config.show_store_selector }) %>
<%= Spree.t('show_store_selector.short') %>
</label>
</div>
</div>
</div>
</div>
</div>
</div>

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,6 @@
let!(:store) { create(:store, default: true) }
stub_authorization!

describe 'enabling currency settings' do
before do
reset_spree_preferences do |config|
config.show_store_selector = false
end
end

it 'allows to enable currency settings' do
visit spree.edit_admin_general_settings_path

# Test initial state
expect(page).to have_unchecked_field('show_store_selector')

# Interact with the form
check('show_store_selector')
click_button 'Update'

# Test final state
expect(page).to have_content 'General Settings has been successfully updated!'
expect(page).to have_checked_field('show_store_selector')
assert_admin_flash_alert_success('General Settings has been successfully updated!')
end
end

describe 'disabling currency settings' do
before do
reset_spree_preferences do |config|
config.show_store_selector = true
end
end

it 'allows to disable currency settings' do
visit spree.edit_admin_general_settings_path

expect(page).to have_checked_field('show_store_selector')

uncheck('show_store_selector')
click_button 'Update'

expect(page).to have_content 'General Settings has been successfully updated!'
expect(page).to have_unchecked_field('show_store_selector')
end
end

describe 'clearing cache' do
it 'returns flash alert of type success' do
visit spree.edit_admin_general_settings_path
Expand Down
2 changes: 1 addition & 1 deletion core/app/models/spree/app_configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class AppConfiguration < Preferences::Configuration
preference :credit_to_new_allocation, :boolean, default: false

# Multi store configurations
preference :show_store_selector, :boolean, default: false
preference :show_store_selector, :boolean, deprecated: true

# searcher_class allows spree extension writers to provide their own Search class
def searcher_class
Expand Down
2 changes: 1 addition & 1 deletion frontend/app/helpers/spree/store_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def store_locale_name(store = nil)
end

def should_render_store_chooser?
Spree::Config.show_store_selector && stores.size > 1
Spree::Frontend::Config[:show_store_selector] && stores.size > 1
end

def store_link(store = nil, html_opts = {})
Expand Down
1 change: 1 addition & 0 deletions frontend/app/models/spree/frontend_configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ class FrontendConfiguration < Preferences::Configuration
preference :products_filters, :array, default: %w(keywords price sort_by)
preference :remember_me_enabled, :boolean, default: true
preference :show_raw_product_description, :boolean, default: false
preference :show_store_selector, :boolean, default: false
preference :title_site_name_separator, :string, default: '-' # When always_put_site_name_in_title is true, insert a separator character before the site name in the title
end
end
8 changes: 2 additions & 6 deletions frontend/spec/features/main_nav_bar_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
let!(:stores) { create_list(:store, stores_number, default_country: create(:country)) }

before do
reset_spree_preferences do |config|
config.show_store_selector = true
end
Spree::Frontend::Config[:show_store_selector] = true

visit spree.root_path
end
Expand Down Expand Up @@ -51,9 +49,7 @@
let!(:stores) { create_list(:store, stores_number) }

before do
reset_spree_preferences do |config|
config.show_store_selector = false
end
Spree::Frontend::Config[:show_store_selector] = false

visit spree.root_path
end
Expand Down
4 changes: 2 additions & 2 deletions frontend/spec/helpers/store_helper_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ module Spree

describe '#should_render_store_chooser?' do
context 'enabled' do
before { Spree::Config.show_store_selector = true }
before { Spree::Frontend::Config.show_store_selector = true }

after { Spree::Config.show_store_selector = false }
after { Spree::Frontend::Config.show_store_selector = false }

context 'with 1 store' do
it { expect(should_render_store_chooser?).to be_falsey }
Expand Down

0 comments on commit 33e028f

Please sign in to comment.