diff options
author | Gareth Rees <gareth@mysociety.org> | 2014-11-19 11:01:30 +0000 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-11-19 11:27:23 +0000 |
commit | 40579725f738a223155710fd440750c42b47f21b (patch) | |
tree | 22e27a38ace0a5f68797a54c0c8ac0089525d2b4 | |
parent | 336142c324ecc993dcacc90b7304cd9d89a3bac7 (diff) |
Use instance variable for CensorRule in #destroy
Easier to check against the assigned variable, but the spec still fails
because an internal error is raised if the rule is not associated with
a User or InfoRequest
-rw-r--r-- | app/controllers/admin_censor_rule_controller.rb | 15 | ||||
-rw-r--r-- | spec/controllers/admin_censor_rule_controller_spec.rb | 3 |
2 files changed, 10 insertions, 8 deletions
diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb index 18c40410c..68ca57510 100644 --- a/app/controllers/admin_censor_rule_controller.rb +++ b/app/controllers/admin_censor_rule_controller.rb @@ -95,19 +95,22 @@ class AdminCensorRuleController < AdminController end def destroy - censor_rule = CensorRule.find(params[:censor_rule_id]) - info_request = censor_rule.info_request - user = censor_rule.user + @censor_rule = CensorRule.find(params[:censor_rule_id]) + info_request = @censor_rule.info_request + user = @censor_rule.user - censor_rule.destroy - if !info_request.nil? + @censor_rule.destroy + + unless info_request.nil? expire_for_request(info_request) end - if !user.nil? + + unless user.nil? expire_requests_for_user(user) end flash[:notice] = "CensorRule was successfully destroyed." + if !info_request.nil? redirect_to admin_request_show_url(info_request) elsif !user.nil? diff --git a/spec/controllers/admin_censor_rule_controller_spec.rb b/spec/controllers/admin_censor_rule_controller_spec.rb index deaef1d7f..4df56a92b 100644 --- a/spec/controllers/admin_censor_rule_controller_spec.rb +++ b/spec/controllers/admin_censor_rule_controller_spec.rb @@ -412,10 +412,9 @@ describe AdminCensorRuleController do end it 'finds the correct censor rule to destroy' do - pending("Assign the CensorRule to an instance variable") + pending("This raises an internal error in most cases") # TODO: Replace :censor_rule_id with :id delete :destroy, :censor_rule_id => @censor_rule.id - # TODO: Assign the CensorRule to an instance variable expect(assigns[:censor_rule]).to eq(@censor_rule) end |