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