test/unit/model_test.rb in paper_trail-2.0.2 vs test/unit/model_test.rb in paper_trail-2.1.0

- old
+ new

@@ -708,9 +708,41 @@ end end end end + context 'A new model instance which uses a custom Version class' do + setup { @post = Post.new } + + context 'which is then saved' do + setup { @post.save } + should_change('the number of post versions') { PostVersion.count } + should_not_change('the number of versions') { Version.count } + end + end + + context 'An existing model instance which uses a custom Version class' do + setup { @post = Post.create } + + context 'on the first version' do + setup { @version = @post.versions.first } + + should 'have the correct index' do + assert_equal 0, @version.index + end + end + + should 'should have versions of the custom class' do + assert_equal "PostVersion", @post.versions.first.class.name + end + + context 'which is modified' do + setup { @post.update_attributes({ :content => "Some new content" }) } + should_change('the number of post versions') { PostVersion.count } + should_not_change('the number of versions') { Version.count } + end + end + context 'An overwritten default accessor' do setup do @song = Song.create :length => 4 @song.update_attributes :length => 5