paper-trail-gem--paper_trail/test/unit/cleaner_test.rb

62 lines
2.2 KiB
Ruby
Raw Normal View History

require 'test_helper'
class PaperTrailCleanerTest < ActiveSupport::TestCase
test 'Baseline' do
@animal = Animal.create :name => 'Animal'
@animal.update_attributes :name => 'Animal from the Muppets'
@animal.update_attributes :name => 'Animal Muppet'
@dog = Dog.create :name => 'Snoopy'
@dog.update_attributes :name => 'Scooby'
@dog.update_attributes :name => 'Scooby Doo'
@cat = Cat.create :name => 'Garfield'
@cat.update_attributes :name => 'Garfield (I hate Mondays)'
@cat.update_attributes :name => 'Garfield The Cat'
assert_equal 9, PaperTrail::Version.count
end
test 'cleaner removes extra versions' do
@animal = Animal.create :name => 'Animal'
@animal.update_attributes :name => 'Animal from the Muppets'
@animal.update_attributes :name => 'Animal Muppet'
PaperTrail.clean_paper_trail_versions
assert_equal 1, PaperTrail::Version.all.count
end
test 'cleaner removes versions' do
@animal = Animal.create :name => 'Animal'
@animal.update_attributes :name => 'Animal from the Muppets'
@animal.update_attributes :name => 'Animal Muppet'
@dog = Dog.create :name => 'Snoopy'
@dog.update_attributes :name => 'Scooby'
@dog.update_attributes :name => 'Scooby Doo'
@cat = Cat.create :name => 'Garfield'
@cat.update_attributes :name => 'Garfield (I hate Mondays)'
@cat.update_attributes :name => 'Garfield The Cat'
PaperTrail.clean_paper_trail_versions
assert_equal 3, PaperTrail::Version.all.count
end
test 'cleaner keeps the correct (last) version' do
@animal = Animal.create :name => 'Animal'
@animal.update_attributes :name => 'Animal from the Muppets'
@animal.update_attributes :name => 'Animal Muppet'
PaperTrail.clean_paper_trail_versions
assert_equal 1, PaperTrail::Version.all.count
assert_equal "Animal Muppet", @animal.name
end
test 'cleaner accepts variable arguments' do
@animal = Animal.create :name => 'Animal'
@animal.update_attributes :name => 'Animal from the Muppets'
@animal.update_attributes :name => 'Animal Muppet'
PaperTrail.clean_paper_trail_versions(2)
assert_equal 2, PaperTrail::Version.all.count
assert_equal "Animal Muppet", @animal.name
end
end