aboutsummaryrefslogtreecommitdiffstats
path: root/spec/controllers
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-11-19 10:29:32 +0000
committerGareth Rees <gareth@mysociety.org>2014-11-19 11:27:23 +0000
commit87bc2e24d2845d21911b85581d0d611d888a6315 (patch)
treea0242047a91a9fe3d92344967049e3d76b14c14c /spec/controllers
parent259a0fd588e198d2a826ef4ac09284c610005387 (diff)
Associate censor rule with something in #create
Build the CensorRule against the object that is found by an additional parameter (either :info_request_id or :user_id)
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/admin_censor_rule_controller_spec.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/spec/controllers/admin_censor_rule_controller_spec.rb b/spec/controllers/admin_censor_rule_controller_spec.rb
index 85f46801a..6e12a1743 100644
--- a/spec/controllers/admin_censor_rule_controller_spec.rb
+++ b/spec/controllers/admin_censor_rule_controller_spec.rb
@@ -94,6 +94,54 @@ describe AdminCensorRuleController do
expect(assigns[:censor_rule].last_edit_editor).to eq('*unknown*')
end
+ context 'info_request_id param' do
+
+ it 'finds an info request if the info_request_id param is supplied' do
+ info_request = FactoryGirl.create(:info_request)
+ post :create, :info_request_id => info_request.id,
+ :censor_rule => @censor_rule_params
+ expect(assigns[:info_request]).to eq(info_request)
+ end
+
+ it 'associates the info request with the new censor rule' do
+ info_request = FactoryGirl.create(:info_request)
+ post :create, :info_request_id => info_request.id,
+ :censor_rule => @censor_rule_params
+ expect(assigns[:censor_rule].info_request).to eq(info_request)
+ end
+
+
+ it 'does not find an info request if no info_request_id param is supplied' do
+ post :create, :censor_rule => @censor_rule_params
+ expect(assigns[:info_request]).to be_nil
+ end
+
+ end
+
+ context 'user_id param' do
+
+ it 'finds a user if the user_id param is supplied' do
+ user = FactoryGirl.create(:user)
+ post :create, :user_id => user.id,
+ :censor_rule => @censor_rule_params
+ expect(assigns[:censor_user]).to eq(user)
+ end
+
+ it 'associates the user with the new censor rule' do
+ user = FactoryGirl.create(:user)
+ post :create, :user_id => user.id,
+ :censor_rule => @censor_rule_params
+ expect(assigns[:censor_rule].user).to eq(user)
+ end
+
+
+ it 'does not find a user if no user_id param is supplied' do
+ post :create, :censor_rule => @censor_rule_params
+ expect(assigns[:censor_user]).to be_nil
+ end
+
+ end
+
context 'successfully saving the censor rule' do
before(:each) do