aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_censor_rule_controller.rb4
-rw-r--r--spec/controllers/admin_censor_rule_controller_spec.rb17
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