diff options
author | Louise Crow <louise.crow@gmail.com> | 2014-09-24 11:08:22 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2014-09-24 13:28:30 +0100 |
commit | 03471adfe714994524a07c9d99fc38ae9bddfa5c (patch) | |
tree | 076d43801ba47266e461842331210ee638a3f79b /spec/models/public_body_heading_spec.rb | |
parent | d04d14442dc29b7279983232eb4323917c74ce6f (diff) |
fixup! Validation of display order, default setting callbacks.
Diffstat (limited to 'spec/models/public_body_heading_spec.rb')
-rw-r--r-- | spec/models/public_body_heading_spec.rb | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/spec/models/public_body_heading_spec.rb b/spec/models/public_body_heading_spec.rb index 3ca01c648..5e581e713 100644 --- a/spec/models/public_body_heading_spec.rb +++ b/spec/models/public_body_heading_spec.rb @@ -10,54 +10,55 @@ require 'spec_helper' -describe PublicBodyHeading, 'when loading the data' do +describe PublicBodyHeading do - before do - load_test_categories - end - - it 'should use the display_order field to preserve the original data order' do - headings = PublicBodyHeading.all - headings[0].name.should eq 'Local and regional' - headings[0].display_order.should eq 1 - headings[1].name.should eq 'Miscellaneous' - headings[1].display_order.should eq 2 - end + context 'when loading the data' do -end + before do + load_test_categories + end -describe PublicBodyHeading, 'when validating' do + it 'should use the display_order field to preserve the original data order' do + headings = PublicBodyHeading.all + headings[0].name.should eq 'Local and regional' + headings[0].display_order.should eq 1 + headings[1].name.should eq 'Miscellaneous' + headings[1].display_order.should eq 2 + end - it 'should require a name' do - heading = PublicBodyHeading.new - heading.should_not be_valid - heading.errors[:name].should == ["Name can't be blank"] end - it 'should require a unique name' do - heading = FactoryGirl.create(:silly_heading) - new_heading = PublicBodyHeading.new(:name => heading.name) - new_heading.should_not be_valid - new_heading.errors[:name].should == ["Name is already taken"] - end + context 'when validating' do - it 'should set a default display order based on the next available display order' do - heading = PublicBodyHeading.new - heading.valid? - heading.display_order.should == PublicBodyHeading.next_display_order - end + it 'should require a name' do + heading = PublicBodyHeading.new + heading.should_not be_valid + heading.errors[:name].should == ["Name can't be blank"] + end -end - -describe PublicBodyHeading, 'when setting a display order' do + it 'should require a unique name' do + heading = FactoryGirl.create(:silly_heading) + new_heading = PublicBodyHeading.new(:name => heading.name) + new_heading.should_not be_valid + new_heading.errors[:name].should == ["Name is already taken"] + end - it 'should return 0 if there are no public body headings' do - PublicBodyHeading.next_display_order.should == 0 + it 'should set a default display order based on the next available display order' do + heading = PublicBodyHeading.new + heading.valid? + heading.display_order.should == PublicBodyHeading.next_display_order + end end - it 'should return one more than the highest display order if there are public body headings' do - heading = FactoryGirl.create(:popular_heading) - PublicBodyHeading.next_display_order.should == 2 - end + context 'when setting a display order' do + it 'should return 0 if there are no public body headings' do + PublicBodyHeading.next_display_order.should == 0 + end + + it 'should return one more than the highest display order if there are public body headings' do + heading = FactoryGirl.create(:popular_heading) + PublicBodyHeading.next_display_order.should == 2 + end + end end |