diff options
-rw-r--r-- | app/controllers/admin_censor_rule_controller.rb | 4 | ||||
-rw-r--r-- | spec/controllers/admin_censor_rule_controller_spec.rb | 17 |
2 files changed, 21 insertions, 0 deletions
diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb index c5d2b16c1..a5e2502b0 100644 --- a/app/controllers/admin_censor_rule_controller.rb +++ b/app/controllers/admin_censor_rule_controller.rb @@ -9,13 +9,17 @@ class AdminCensorRuleController < AdminController if params[:info_request_id] @info_request = InfoRequest.find(params[:info_request_id]) @censor_rule = @info_request.censor_rules.build + @form_url = admin_info_request_censor_rules_path(@info_request) end + if params[:user_id] @censor_user = User.find(params[:user_id]) @censor_rule = @censor_user.censor_rules.build + @form_url = admin_user_censor_rules_path(@censor_user) end @censor_rule ||= CensorRule.new + @form_url ||= admin_rule_create_path end def create diff --git a/spec/controllers/admin_censor_rule_controller_spec.rb b/spec/controllers/admin_censor_rule_controller_spec.rb index b0f66c86f..85f46801a 100644 --- a/spec/controllers/admin_censor_rule_controller_spec.rb +++ b/spec/controllers/admin_censor_rule_controller_spec.rb @@ -20,6 +20,11 @@ describe AdminCensorRuleController do expect(response).to render_template('new') end + it 'sets the URL for the form to POST to' do + get :new + expect(assigns[:form_url]).to eq(admin_rule_create_path) + end + context 'info_request_id param' do it 'finds an info request if the info_request_id param is supplied' do @@ -34,6 +39,12 @@ describe AdminCensorRuleController do expect(assigns[:censor_rule].info_request).to eq(info_request) end + it 'sets the URL for the form to POST to' do + info_request = FactoryGirl.create(:info_request) + get :new, :info_request_id => info_request.id + expect(assigns[:form_url]).to eq(admin_info_request_censor_rules_path(info_request)) + end + it 'does not find an info request if no info_request_id param is supplied' do get :new expect(assigns[:info_request]).to be_nil @@ -55,6 +66,12 @@ describe AdminCensorRuleController do expect(assigns[:censor_rule].user).to eq(user) end + it 'sets the URL for the form to POST to' do + user = FactoryGirl.create(:user) + get :new, :user_id => user.id + expect(assigns[:form_url]).to eq(admin_user_censor_rules_path(user)) + end + it 'does not find a user if no user_id param is supplied' do get :new expect(assigns[:censor_user]).to be_nil |