diff options
author | Gareth Rees <gareth@mysociety.org> | 2015-02-03 18:08:40 +0000 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2015-03-18 12:38:00 +0000 |
commit | dbad939a2bf74ec4107b67be8764e1b971f3e819 (patch) | |
tree | 9b2ba847c81d23252492da6df7b931172259b95a /spec/integration | |
parent | 673f94bba993d4f975a511ffd59424520060187c (diff) |
Fix translating Public Body Headings
Fixes submission of form containing both existing and new
translations
Diffstat (limited to 'spec/integration')
-rw-r--r-- | spec/integration/admin_public_body_heading_edit_spec.rb | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/spec/integration/admin_public_body_heading_edit_spec.rb b/spec/integration/admin_public_body_heading_edit_spec.rb new file mode 100644 index 000000000..6c7a5a74b --- /dev/null +++ b/spec/integration/admin_public_body_heading_edit_spec.rb @@ -0,0 +1,58 @@ +require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require File.expand_path(File.dirname(__FILE__) + '/alaveteli_dsl') + +describe 'Editing a Public Body Heading' do + before do + AlaveteliConfiguration.stub!(:skip_admin_auth).and_return(false) + + confirm(:admin_user) + @admin = login(:admin_user) + @heading = FactoryGirl.create(:public_body_heading) + end + + it 'can edit the default locale' do + @admin.visit edit_admin_heading_path(@heading) + @admin.fill_in 'public_body_heading_name__en', :with => 'New Heading EN' + @admin.click_button 'Save' + + @heading.reload + expect(@heading.name).to eq('New Heading EN') + end + + it 'can add a translation for a single locale' do + expect(@heading.find_translation_by_locale('fr')).to be_nil + + @admin.visit edit_admin_heading_path(@heading) + @admin.fill_in 'public_body_heading_translations_attributes_fr_name__fr', :with => 'New Heading FR' + @admin.click_button 'Save' + + @heading.reload + I18n.with_locale(:fr) do + expect(@heading.name).to eq('New Heading FR') + end + end + + it 'can add a translation for multiple locales' do + # Add FR translation + expect(@heading.find_translation_by_locale('fr')).to be_nil + @admin.visit edit_admin_heading_path(@heading) + @admin.fill_in 'public_body_heading_translations_attributes_fr_name__fr', :with => 'New Heading FR' + @admin.click_button 'Save' + + # Add ES translation + expect(@heading.find_translation_by_locale('es')).to be_nil + @admin.visit edit_admin_heading_path(@heading) + @admin.fill_in 'public_body_heading_translations_attributes_es_name__es', :with => 'New Heading ES' + @admin.click_button 'Save' + + @heading.reload + I18n.with_locale(:fr) do + expect(@heading.name).to eq('New Heading FR') + end + + I18n.with_locale(:es) do + expect(@heading.name).to eq('New Heading ES') + end + end + +end |