diff --git a/app/models/chargeback_rate.rb b/app/models/chargeback_rate.rb index 3818e7397cf..f327fe760f5 100644 --- a/app/models/chargeback_rate.rb +++ b/app/models/chargeback_rate.rb @@ -150,7 +150,7 @@ def ensure_unassigned end def ensure_nondefault - if default? + if default? || description == 'Default Container Image Rate' errors.add(:rate, "default rate cannot be deleted") throw :abort end diff --git a/spec/models/chargeback_rate_spec.rb b/spec/models/chargeback_rate_spec.rb index fc8073996f5..7215f741c57 100644 --- a/spec/models/chargeback_rate_spec.rb +++ b/spec/models/chargeback_rate_spec.rb @@ -56,6 +56,14 @@ expect(cbr.errors.first).to include("default rate cannot be deleted") end + it "when non-default with default description" do + cbr = FactoryGirl.create(:chargeback_rate, :description => "Default Container Image Rate", :default => false) + cbr.destroy + expect(cbr).to_not be_destroyed + expect(cbr.errors.count).to be(1) + expect(cbr.errors.first).to include("default rate cannot be deleted") + end + it "when non-default" do cbr = FactoryGirl.create(:chargeback_rate, :description => "Non-default", :default => false) cbr.destroy