From 5def2b53e5e70e29c504306456cf36b6df071eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Gon=C3=A7alves?= Date: Sun, 8 Dec 2024 10:52:14 +0000 Subject: [PATCH] Added a spec file in order to test the tax categories helper --- .../spree/admin/tax_categories_helper_spec.rb | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 spec/helpers/spree/admin/tax_categories_helper_spec.rb diff --git a/spec/helpers/spree/admin/tax_categories_helper_spec.rb b/spec/helpers/spree/admin/tax_categories_helper_spec.rb new file mode 100644 index 0000000000..51ccb4b881 --- /dev/null +++ b/spec/helpers/spree/admin/tax_categories_helper_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe Spree::Admin::TaxCategoriesHelper do + describe '#tax_category_dropdown_options' do + let!(:default_tax_category) { create(:tax_category, is_default: true) } + let!(:other_tax_category) { create(:tax_category, is_default: false) } + + context 'when products require a tax category' do + it 'returns include_blank as false' do + options = helper.tax_category_dropdown_options(true) + expect(options[:include_blank]).to eq(false) + end + + it 'returns the default tax category as selected' do + options = helper.tax_category_dropdown_options(true) + expect(options[:selected]).to eq(default_tax_category.id) + end + + context 'when no default tax category exists' do + before { default_tax_category.update(is_default: false) } + + it 'returns nil for the selected value' do + options = helper.tax_category_dropdown_options(true) + expect(options[:selected]).to be_nil + end + end + end + + context 'when products do not require a tax category' do + it 'returns include_blank as the translated "none" string' do + options = helper.tax_category_dropdown_options(false) + expect(options[:include_blank]).to eq(I18n.t(:none)) + end + + it 'does not include a selected tax category' do + options = helper.tax_category_dropdown_options(false) + expect(options[:selected]).to be_nil + end + end + end +end