aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/admin_public_body_category_controller.rb5
-rw-r--r--spec/controllers/admin_public_body_category_controller_spec.rb16
2 files changed, 21 insertions, 0 deletions
diff --git a/app/controllers/admin_public_body_category_controller.rb b/app/controllers/admin_public_body_category_controller.rb
index d138eb495..b0dde3219 100644
--- a/app/controllers/admin_public_body_category_controller.rb
+++ b/app/controllers/admin_public_body_category_controller.rb
@@ -82,6 +82,11 @@ class AdminPublicBodyCategoryController < AdminController
I18n.with_locale(I18n.default_locale) do
@category = PublicBodyCategory.new(params[:public_body_category])
if @category.save
+ if params[:headings]
+ params[:headings].values.each do |heading_id|
+ @category.add_to_heading(PublicBodyHeading.find(heading_id))
+ end
+ end
flash[:notice] = 'Category was successfully created.'
redirect_to admin_category_index_url
else
diff --git a/spec/controllers/admin_public_body_category_controller_spec.rb b/spec/controllers/admin_public_body_category_controller_spec.rb
index 47ae38176..e0a31e97e 100644
--- a/spec/controllers/admin_public_body_category_controller_spec.rb
+++ b/spec/controllers/admin_public_body_category_controller_spec.rb
@@ -32,6 +32,22 @@ describe AdminPublicBodyCategoryController do
response.should redirect_to(:controller=>'admin_public_body_category', :action=>'index')
end
+ it "saves the public body category's heading associations" do
+ heading = FactoryGirl.create(:popular_heading)
+ post :create, {
+ :public_body_category => {
+ :title => 'New Category',
+ :category_tag => 'new_test_category',
+ :description => 'New category for testing stuff'
+ },
+ :headings => {"heading_#{heading.id}" => heading.id}
+ }
+ request.flash[:notice].should include('successful')
+ category = PublicBodyCategory.find_by_title("New Category")
+ category.public_body_headings.should == [heading]
+ end
+
+
it 'creates a new public body category with multiple locales' do
n = PublicBodyCategory.count
post :create, {