diff options
author | Louise Crow <louise.crow@gmail.com> | 2015-06-11 10:05:28 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2015-06-12 10:11:38 +0100 |
commit | 1524f83baa3b93a506dbefe7def0c4c304f93745 (patch) | |
tree | 0cb741772e90a77fa7d79f9d0cf743f78b5e95a9 /spec/models | |
parent | 3efe2f333a9b143e88556c0aeedb534090eb41d3 (diff) |
Move updating of derived attributes to a concern.
Add spec to demonstrate that admin-added bodies aren't getting derived attributes.
Add a spec to demonstrate the problem setting the first letter for translations.
Demonstrate failure to update derived attributes in translations.
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/public_body_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb index d6abf7b5f..ca94c59a8 100644 --- a/spec/models/public_body_spec.rb +++ b/spec/models/public_body_spec.rb @@ -282,6 +282,31 @@ describe PublicBody, " when saving" do pb.first_letter.should == 'Å' end + it 'should save the first letter of a translation' do + existing = FactoryGirl.create(:public_body, :first_letter => 'T', :name => 'Test body') + I18n.with_locale(:es) { existing.update_attributes :name => 'Prueba body' } + PublicBody::Translation. + where(:public_body_id => existing.id, :locale => :es). + pluck('first_letter').first.should == 'P' + end + + it 'should save the first letter of a translation, even when it is the same as the + first letter in the default locale' do + existing = FactoryGirl.create(:public_body, :first_letter => 'T', :name => 'Test body') + I18n.with_locale(:es) { existing.update_attributes :name => existing.name } + PublicBody::Translation. + where(:public_body_id => existing.id, :locale => :es). + pluck('first_letter').first.should == 'T' + end + + it 'should create a url_name for a translation' do + existing = FactoryGirl.create(:public_body, :first_letter => 'T', :short_name => 'Test body') + I18n.with_locale(:es) do + existing.update_attributes :short_name => 'Prueba', :name => 'Prueba body' + existing.url_name.should == 'prueba' + end + end + it "should not save if the url_name is already taken" do existing = FactoryGirl.create(:public_body) pb = PublicBody.new(existing.attributes) |