aboutsummaryrefslogtreecommitdiffstats
path: root/spec/integration
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2015-03-20 14:34:09 +0000
committerGareth Rees <gareth@mysociety.org>2015-03-20 14:34:09 +0000
commitb6cf3f88e9df1dda172f149927fa2a6cc4f3960a (patch)
tree6cc4e1aa34bb056d5b630a7a8844b49a32f64ad3 /spec/integration
parent7d55b45dfb0de92dca420df3b02dcb5738753e32 (diff)
parentd748691956dc082ec5b2b520397e7702eaf7a488 (diff)
Merge remote-tracking branch 'origin/2140-translations-failed-validation-r3d' into rails-3-develop
Diffstat (limited to 'spec/integration')
-rw-r--r--spec/integration/admin_public_body_category_edit_spec.rb59
-rw-r--r--spec/integration/admin_public_body_heading_edit_spec.rb58
2 files changed, 117 insertions, 0 deletions
diff --git a/spec/integration/admin_public_body_category_edit_spec.rb b/spec/integration/admin_public_body_category_edit_spec.rb
new file mode 100644
index 000000000..043524189
--- /dev/null
+++ b/spec/integration/admin_public_body_category_edit_spec.rb
@@ -0,0 +1,59 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+require File.expand_path(File.dirname(__FILE__) + '/alaveteli_dsl')
+
+describe 'Editing a Public Body Category' do
+ before do
+ AlaveteliConfiguration.stub!(:skip_admin_auth).and_return(false)
+
+ confirm(:admin_user)
+ @admin = login(:admin_user)
+ @category = FactoryGirl.create(:public_body_category)
+ end
+
+ it 'can edit the default locale' do
+ @admin.visit edit_admin_category_path(@category)
+ @admin.fill_in 'public_body_category_title__en', :with => 'New Category EN'
+ @admin.click_button 'Save'
+
+ @category.reload
+ expect(@category.title).to eq('New Category EN')
+ end
+
+ it 'can add a translation for a single locale' do
+ expect(@category.find_translation_by_locale('fr')).to be_nil
+
+ @admin.visit edit_admin_category_path(@category)
+ @admin.fill_in 'public_body_category_translations_attributes_fr_title__fr', :with => 'New Category FR'
+ @admin.fill_in 'public_body_category_translations_attributes_fr_description__fr', :with => 'FR Description'
+ @admin.click_button 'Save'
+
+ @category.reload
+ I18n.with_locale(:fr) do
+ expect(@category.title).to eq('New Category FR')
+ end
+ end
+
+ it 'can add a translation for multiple locales' do
+ # Add FR translation
+ @admin.visit edit_admin_category_path(@category)
+ @admin.fill_in 'public_body_category_translations_attributes_fr_title__fr', :with => 'New Category FR'
+ @admin.fill_in 'public_body_category_translations_attributes_fr_description__fr', :with => 'FR Description'
+ @admin.click_button 'Save'
+
+ # Add ES translation
+ @admin.visit edit_admin_category_path(@category)
+ @admin.fill_in 'public_body_category_translations_attributes_es_title__es', :with => 'New Category ES'
+ @admin.fill_in 'public_body_category_translations_attributes_es_description__es', :with => 'ES Description'
+ @admin.click_button 'Save'
+
+ @category.reload
+ I18n.with_locale(:fr) do
+ expect(@category.title).to eq('New Category FR')
+ end
+
+ I18n.with_locale(:es) do
+ expect(@category.title).to eq('New Category ES')
+ end
+ end
+
+end
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