diff --git a/app/controllers/rates_controller.rb b/app/controllers/rates_controller.rb index 28ba936..b782ccf 100644 --- a/app/controllers/rates_controller.rb +++ b/app/controllers/rates_controller.rb @@ -109,6 +109,7 @@ class RatesController < ApplicationController respond_to do |format| format.html { + flash[:error] = "Rate is locked and cannot be deleted" if @rate.locked? if params[:back_url] && !params[:back_url].blank? redirect_to(params[:back_url]) else diff --git a/spec/controllers/rates_controller_spec.rb b/spec/controllers/rates_controller_spec.rb index 9196dec..1c3b79a 100644 --- a/spec/controllers/rates_controller_spec.rb +++ b/spec/controllers/rates_controller_spec.rb @@ -433,6 +433,14 @@ describe RatesController, "as an administrator" do delete :destroy, :id => "1", :back_url => back_url response.should redirect_to(back_url) end + + describe "on a locked rate" do + it "should display an error message" do + Rate.stub!(:find).and_return(mock_rate(:destroy => false, :locked? => true)) + delete :destroy, :id => "1" + flash[:error].should match(/locked/) + end + end end