diff --git a/app/models/spree/zone.rb b/app/models/spree/zone.rb index b310c2927f..a3deacda4f 100644 --- a/app/models/spree/zone.rb +++ b/app/models/spree/zone.rb @@ -7,6 +7,8 @@ module Spree has_and_belongs_to_many :shipping_methods, join_table: 'spree_shipping_methods_zones' validates :name, presence: true, uniqueness: true + validates :zone_members, presence: true + after_save :remove_defunct_members after_save :remove_previous_default diff --git a/spec/models/spree/zone_spec.rb b/spec/models/spree/zone_spec.rb index 8c1da2906a..fad11796f0 100644 --- a/spec/models/spree/zone_spec.rb +++ b/spec/models/spree/zone_spec.rb @@ -3,6 +3,12 @@ require 'spec_helper' RSpec.describe Spree::Zone do + describe "validations" do + it { is_expected.to validate_presence_of(:name) } + it { is_expected.to validate_uniqueness_of(:name) } + it { is_expected.to validate_presence_of(:zone_members) } + end + describe "#match" do let(:country_zone) { create(:zone, name: 'CountryZone') } let(:country) do