aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/helpers/admin_public_body_helper_spec.rb79
1 files changed, 79 insertions, 0 deletions
diff --git a/spec/helpers/admin_public_body_helper_spec.rb b/spec/helpers/admin_public_body_helper_spec.rb
new file mode 100644
index 000000000..defb1b359
--- /dev/null
+++ b/spec/helpers/admin_public_body_helper_spec.rb
@@ -0,0 +1,79 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe AdminPublicBodyHelper do
+
+ include AdminPublicBodyHelper
+
+ describe :public_body_form_object do
+
+ context 'in the default locale' do
+
+ before(:each) do
+ @locale = I18n.default_locale
+ @public_body = Factory.create(:public_body)
+ end
+
+ it 'provides the original object' do
+ object = public_body_form_object(@public_body, @locale)[:object]
+ expect(object).to eq(@public_body)
+ end
+
+ it 'provides the prefix public_body' do
+ prefix = public_body_form_object(@public_body, @locale)[:prefix]
+ expect(prefix).to eq('public_body')
+ end
+
+ end
+
+ context 'in an alternative locale' do
+
+ it 'provides the prefix public_body[translated_versions][]' do
+ public_body = FactoryGirl.build(:public_body)
+ locale = :es
+ prefix = public_body_form_object(public_body, locale)[:prefix]
+ expect(prefix).to eq('public_body[translated_versions][]')
+ end
+
+ context 'when the PublicBody is new' do
+
+ it 'builds a new PublicBody::Translation' do
+ public_body = FactoryGirl.build(:public_body)
+ locale = :es
+
+ object = public_body_form_object(public_body, locale)[:object]
+
+ expect(object).to be_instance_of(PublicBody::Translation)
+ expect(object).to be_new_record
+ end
+
+ end
+
+ context 'when the PublicBody has been persisted' do
+
+ it 'finds an existing PublicBody::Translation for the locale' do
+ public_body = public_bodies(:geraldine_public_body)
+ locale = :es
+ translation = public_body.find_translation_by_locale(locale)
+
+ object = public_body_form_object(public_body, locale)[:object]
+
+ expect(object).to eq(translation)
+ end
+
+ it 'builds a new PublicBody::Translation if the record does not have one for that locale' do
+ public_body = FactoryGirl.create(:public_body)
+ locale = :es
+
+ object = public_body_form_object(public_body, locale)[:object]
+
+ expect(object).to be_instance_of(PublicBody::Translation)
+ expect(object).to be_new_record
+ end
+
+ end
+
+ end
+
+ end
+
+end