From eaf32226a49c378efbe997c92239c9f618f96545 Mon Sep 17 00:00:00 2001 From: Ana Nunes da Silva Date: Thu, 28 Mar 2024 19:31:52 +0000 Subject: [PATCH 1/5] Fix duplicate branches in Spree::Admin::BaseHelper :string case already handled by the else case --- .rubocop_todo.yml | 2 +- app/helpers/spree/admin/base_helper.rb | 4 -- spec/helpers/spree/admin/base_helper_spec.rb | 66 ++++++++++++++++++++ 3 files changed, 67 insertions(+), 5 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 80de3c4a6e..3c85c436c8 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -27,7 +27,7 @@ Lint/ConstantDefinitionInBlock: # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. Lint/DuplicateBranch: Exclude: - - 'app/helpers/spree/admin/base_helper.rb' + # - 'app/helpers/spree/admin/base_helper.rb' - 'app/models/enterprise.rb' - 'app/models/spree/calculator.rb' - 'app/models/spree/preference.rb' diff --git a/app/helpers/spree/admin/base_helper.rb b/app/helpers/spree/admin/base_helper.rb index 652e2a4dd4..4d46a8e297 100644 --- a/app/helpers/spree/admin/base_helper.rb +++ b/app/helpers/spree/admin/base_helper.rb @@ -33,8 +33,6 @@ module Spree when :boolean hidden_field_tag(name, 0) + check_box_tag(name, 1, value, preference_field_options(options)) - when :string - text_field_tag(name, value, preference_field_options(options)) when :password password_field_tag(name, value, preference_field_options(options)) when :text @@ -88,8 +86,6 @@ module Spree { size: 10, class: 'input_integer', step: :any } when :boolean {} - when :string - { size: 10, class: 'input_string fullwidth' } when :password { size: 10, class: 'password_string fullwidth' } when :text diff --git a/spec/helpers/spree/admin/base_helper_spec.rb b/spec/helpers/spree/admin/base_helper_spec.rb index e16c8ff730..8930d83d5a 100644 --- a/spec/helpers/spree/admin/base_helper_spec.rb +++ b/spec/helpers/spree/admin/base_helper_spec.rb @@ -21,4 +21,70 @@ describe Spree::Admin::BaseHelper, type: :helper do "name="_method" value="destroy">") end end + + describe "#preference_field_options" do + subject { helper.preference_field_options(options) } + + context 'when type is integer' do + let(:options) { { type: :integer } } + + it 'returns correct options' do + expect(subject).to eq({ size: nil, class: 'input_integer', step: 1, readonly: nil, + disabled: nil }) + end + end + + context 'when type is decimal' do + let(:options) { { type: :decimal } } + + it 'returns correct options' do + expect(subject).to eq({ size: nil, class: 'input_integer', step: :any, readonly: nil, + disabled: nil }) + end + end + + context 'when type is boolean' do + let(:options) { { type: :boolean } } + + it 'returns correct options' do + expect(subject).to eq({ readonly: nil, disabled: nil, size: nil }) + end + end + + context 'when type is password' do + let(:options) { { type: :password } } + + it 'returns correct options' do + expect(subject).to eq({ size: nil, class: 'password_string fullwidth', readonly: nil, + disabled: nil }) + end + end + + context 'when type is text' do + let(:options) { { type: :text } } + + it 'returns correct options' do + expect(subject).to eq({ size: nil, rows: 15, cols: 85, class: 'fullwidth', readonly: nil, + disabled: nil }) + end + end + + context 'when type is string' do + let(:options) { { type: :string } } + + it 'returns correct options' do + expect(subject).to eq({ size: nil, class: 'input_string fullwidth', readonly: nil, + disabled: nil }) + end + end + + context 'when readonly, disabled and size are set' do + let(:options) { { type: :integer, readonly: true, disabled: false, size: 20 } } + + it 'returns correct options' do + expect(subject).to eq({ size: 20, class: 'input_integer', step: 1, readonly: true, + disabled: false }) + end + end + end end From 8bee48df6d70e00d86d793ded74a534f993d5292 Mon Sep 17 00:00:00 2001 From: Ana Nunes da Silva Date: Thu, 28 Mar 2024 19:39:49 +0000 Subject: [PATCH 2/5] Fix duplicate branch in Enterprise#category method non_producer_sells_any and non_producer_sells_own have the same category --- .rubocop_todo.yml | 2 +- app/models/enterprise.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3c85c436c8..9d3737f407 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -28,7 +28,7 @@ Lint/ConstantDefinitionInBlock: Lint/DuplicateBranch: Exclude: # - 'app/helpers/spree/admin/base_helper.rb' - - 'app/models/enterprise.rb' + # - 'app/models/enterprise.rb' - 'app/models/spree/calculator.rb' - 'app/models/spree/preference.rb' - 'app/models/spree/preferences/preferable.rb' diff --git a/app/models/enterprise.rb b/app/models/enterprise.rb index 7f9ab5a965..0d5ad5e4ec 100644 --- a/app/models/enterprise.rb +++ b/app/models/enterprise.rb @@ -369,10 +369,10 @@ class Enterprise < ApplicationRecord :producer_shop # Producer with shopfront and supplies other hubs. when "producer_sells_none" :producer # Producer only supplies through others. - when "non_producer_sells_any" - :hub # Hub selling others products in order cycles. - when "non_producer_sells_own" - :hub # Wholesaler selling through own shopfront? Does this need a separate name or even exist? + when "non_producer_sells_any", "non_producer_sells_own" + # Hub selling others products in order cycles + # Or Wholesaler selling through own shopfront? Does this need a separate name or even exist? + :hub when "non_producer_sells_none" :hub_profile # Hub selling outside the system. end From 3e796da8ff62de7b851c9477c4de7dae29a0b61a Mon Sep 17 00:00:00 2001 From: Ana Nunes da Silva Date: Thu, 28 Mar 2024 19:47:10 +0000 Subject: [PATCH 3/5] Fix duplicate branch Spree::Calculator --- .rubocop_todo.yml | 2 +- app/models/spree/calculator.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 9d3737f407..af5d895a2b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,7 +29,7 @@ Lint/DuplicateBranch: Exclude: # - 'app/helpers/spree/admin/base_helper.rb' # - 'app/models/enterprise.rb' - - 'app/models/spree/calculator.rb' + # - 'app/models/spree/calculator.rb' - 'app/models/spree/preference.rb' - 'app/models/spree/preferences/preferable.rb' diff --git a/app/models/spree/calculator.rb b/app/models/spree/calculator.rb index 9ff0e53651..7c1f11c274 100644 --- a/app/models/spree/calculator.rb +++ b/app/models/spree/calculator.rb @@ -44,9 +44,9 @@ module Spree # Given an object which might be an Order or a LineItem (amongst # others), return a collection of line items. def line_items_for(object) - if object.is_a?(Spree::LineItem) - [object] - elsif object.respond_to? :line_items + return [object] if object.is_a?(Spree::LineItem) + + if object.respond_to? :line_items object.line_items elsif object.respond_to?(:order) && object.order.present? object.order.line_items From 5fde1cc7cdb1683a20f64e5908ad59b191f8ab27 Mon Sep 17 00:00:00 2001 From: Ana Nunes da Silva Date: Thu, 28 Mar 2024 19:48:59 +0000 Subject: [PATCH 4/5] Fix duplicate branch in Spree::Preference#value method :string, :text and :password cases have the same value --- .rubocop_todo.yml | 2 +- app/models/spree/preference.rb | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index af5d895a2b..6f2bdd9e78 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -30,7 +30,7 @@ Lint/DuplicateBranch: # - 'app/helpers/spree/admin/base_helper.rb' # - 'app/models/enterprise.rb' # - 'app/models/spree/calculator.rb' - - 'app/models/spree/preference.rb' + # - 'app/models/spree/preference.rb' - 'app/models/spree/preferences/preferable.rb' # Offense count: 2 diff --git a/app/models/spree/preference.rb b/app/models/spree/preference.rb index 6f64edf9cf..7465c12f2c 100644 --- a/app/models/spree/preference.rb +++ b/app/models/spree/preference.rb @@ -16,9 +16,7 @@ module Spree def value if self[:value_type].present? case self[:value_type].to_sym - when :string, :text - self[:value].to_s - when :password + when :string, :text, :password self[:value].to_s when :decimal BigDecimal(self[:value].to_s, exception: false)&.round(2, BigDecimal::ROUND_HALF_UP) || From eedbaaff6eae24ba4ffe91a34a8345188b8ac7f1 Mon Sep 17 00:00:00 2001 From: Ana Nunes da Silva Date: Thu, 28 Mar 2024 19:50:46 +0000 Subject: [PATCH 5/5] Fix duplicate branch in Spree::Preferences::Preferable private method :string, :text and :password cases have the same value --- .rubocop_todo.yml | 10 ---------- app/models/spree/preferences/preferable.rb | 4 +--- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 6f2bdd9e78..b7d0593f62 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -23,16 +23,6 @@ Lint/ConstantDefinitionInBlock: - 'spec/validators/date_time_string_validator_spec.rb' - 'spec/validators/integer_array_validator_spec.rb' -# Offense count: 6 -# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. -Lint/DuplicateBranch: - Exclude: - # - 'app/helpers/spree/admin/base_helper.rb' - # - 'app/models/enterprise.rb' - # - 'app/models/spree/calculator.rb' - # - 'app/models/spree/preference.rb' - - 'app/models/spree/preferences/preferable.rb' - # Offense count: 2 Lint/DuplicateMethods: Exclude: diff --git a/app/models/spree/preferences/preferable.rb b/app/models/spree/preferences/preferable.rb index 40131daef3..e81a24aaf7 100644 --- a/app/models/spree/preferences/preferable.rb +++ b/app/models/spree/preferences/preferable.rb @@ -111,9 +111,7 @@ module Spree def convert_preference_value(value, type) case type - when :string, :text - value.to_s - when :password + when :string, :text, :password value.to_s when :decimal value = 0 if value.blank?