Sha256: de0f36d49629118e40125440deeeb43e3766a28bda67600ec8991fc3be7d81f9

Contents?: true

Size: 1 KB

Versions: 5

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'

describe Spree::TaxCategory, type: :model do
  describe 'Validations' do
    it { is_expected.to validate_presence_of(:name) }
    it { is_expected.to validate_uniqueness_of(:name).scoped_to(:deleted_at).case_insensitive.allow_blank }
  end

  context 'default tax category' do
    let(:tax_category) { create(:tax_category) }
    let(:new_tax_category) { create(:tax_category) }

    before do
      tax_category.update_column(:is_default, true)
    end

    it "should undefault the previous default tax category" do
      new_tax_category.update_attributes({is_default: true})
      expect(new_tax_category.is_default).to be true

      tax_category.reload
      expect(tax_category.is_default).to be false
    end

    it "should undefault the previous default tax category except when updating the existing default tax category" do
      tax_category.update_column(:description, "Updated description")

      tax_category.reload
      expect(tax_category.is_default).to be true
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spree_core-3.2.1 spec/models/spree/tax_category_spec.rb
spree_core-3.2.0 spec/models/spree/tax_category_spec.rb
spree_core-3.2.0.rc3 spec/models/spree/tax_category_spec.rb
spree_core-3.2.0.rc2 spec/models/spree/tax_category_spec.rb
spree_core-3.2.0.rc1 spec/models/spree/tax_category_spec.rb