Prevent Rates from being destroyed if they are locked. #1919

This commit is contained in:
Eric Davis
2009-01-16 15:33:42 -08:00
parent 3ffb31fafc
commit 0e8bd2153c
2 changed files with 22 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ class Rate < ActiveRecord::Base
validates_presence_of :date_in_effect
before_save :unlocked?
before_destroy :unlocked?
named_scope :history_for_user, lambda { |user|
{

View File

@@ -100,3 +100,24 @@ describe Rate, 'save' do
rate.save.should eql(false)
end
end
describe Rate, 'destroy' do
include RateSpecHelper
it 'should destroy the Rate if it is not locked' do
rate = Rate.create(rate_valid_attributes)
rate.stub!(:locked?).and_return(false)
proc {
rate.destroy
}.should change(Rate, :count).by(-1)
end
it 'should not delete the Rate if it is locked' do
rate = Rate.create(rate_valid_attributes)
rate.stub!(:locked?).and_return(true)
proc {
rate.destroy
}.should_not change(Rate, :count)
end
end