diff options
-rw-r--r-- | app/controllers/admin_public_body_category_controller.rb | 5 | ||||
-rw-r--r-- | spec/controllers/admin_public_body_category_controller_spec.rb | 16 |
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, { |