test/unit/model_test.rb in paper_trail-5.1.1 vs test/unit/model_test.rb in paper_trail-5.2.0
- old
+ new
@@ -240,11 +240,11 @@
should "not have any previous versions" do
assert_equal [], @widget.versions
end
should "be live" do
- assert @widget.live?
+ assert @widget.paper_trail.live?
end
context "which is then created" do
setup { @widget.update_attributes name: "Henry", created_at: Time.now - 1.day }
@@ -260,11 +260,11 @@
should "record the correct event" do
assert_match(/create/i, @widget.versions.first.event)
end
should "be live" do
- assert @widget.live?
+ assert @widget.paper_trail.live?
end
should "use the widget `updated_at` as the version's `created_at`" do
assert_equal @widget.updated_at.to_i, @widget.versions.first.created_at.to_i
end
@@ -315,11 +315,13 @@
should "record the correct event" do
assert_match(/update/i, @widget.versions.last.event)
end
should "have versions that are not live" do
- assert @widget.versions.map(&:reify).compact.all? { |w| !w.live? }
+ assert @widget.versions.map(&:reify).compact.all? { |w|
+ !w.paper_trail.live?
+ }
end
should "have stored changes" do
# Behavior for ActiveRecord 4 is different than ActiveRecord 3;
# AR4 includes the `updated_at` column in changes for updates, which
@@ -564,15 +566,15 @@
end
end
context "with its paper trail turned off" do
setup do
- Widget.paper_trail_off!
+ Widget.paper_trail.disable
@count = @widget.versions.length
end
- teardown { Widget.paper_trail_on! }
+ teardown { Widget.paper_trail.enable }
context "when updated" do
setup { @widget.update_attributes name: "Beeblebrox" }
should "not add to its trail" do
@@ -580,17 +582,17 @@
end
end
context 'when destroyed "without versioning"' do
should "leave paper trail off after call" do
- @widget.without_versioning :destroy
- assert !Widget.paper_trail_enabled_for_model?
+ @widget.paper_trail.without_versioning :destroy
+ assert_equal false, Widget.paper_trail.enabled?
end
end
context "and then its paper trail turned on" do
- setup { Widget.paper_trail_on! }
+ setup { Widget.paper_trail.enable }
context "when updated" do
setup { @widget.update_attributes name: "Ford" }
should "add to its trail" do
@@ -598,35 +600,35 @@
end
end
context 'when updated "without versioning"' do
setup do
- @widget.without_versioning do
+ @widget.paper_trail.without_versioning do
@widget.update_attributes name: "Ford"
end
# The model instance should yield itself for convenience purposes
- @widget.without_versioning { |w| w.update_attributes name: "Nixon" }
+ @widget.paper_trail.without_versioning { |w| w.update_attributes name: "Nixon" }
end
should "not create new version" do
assert_equal @count, @widget.versions.length
end
should "enable paper trail after call" do
- assert Widget.paper_trail_enabled_for_model?
+ assert Widget.paper_trail.enabled?
end
end
context "when receiving a method name as an argument" do
- setup { @widget.without_versioning(:touch_with_version) }
+ setup { @widget.paper_trail.without_versioning(:touch_with_version) }
should "not create new version" do
assert_equal @count, @widget.versions.length
end
should "enable paper trail after call" do
- assert Widget.paper_trail_enabled_for_model?
+ assert Widget.paper_trail.enabled?
end
end
end
end
end
@@ -643,27 +645,27 @@
@version = @widget.versions.last # only 1 version
end
should "track who made the change" do
assert_equal "Alice", @version.whodunnit
- assert_nil @version.paper_trail_originator
+ assert_nil @version.paper_trail_originator
assert_equal "Alice", @version.terminator
- assert_equal "Alice", @widget.paper_trail_originator
+ assert_equal "Alice", @widget.paper_trail.originator
end
context "when a record is updated" do
setup do
PaperTrail.whodunnit = "Bob"
@widget.update_attributes name: "Rivet"
@version = @widget.versions.last
end
should "track who made the change" do
- assert_equal "Bob", @version.whodunnit
+ assert_equal "Bob", @version.whodunnit
assert_equal "Alice", @version.paper_trail_originator
- assert_equal "Bob", @version.terminator
- assert_equal "Bob", @widget.paper_trail_originator
+ assert_equal "Bob", @version.terminator
+ assert_equal "Bob", @widget.paper_trail.originator
end
context "when a record is destroyed" do
setup do
PaperTrail.whodunnit = "Charlie"
@@ -671,13 +673,13 @@
@version = PaperTrail::Version.last
end
should "track who made the change" do
assert_equal "Charlie", @version.whodunnit
- assert_equal "Bob", @version.paper_trail_originator
+ assert_equal "Bob", @version.paper_trail_originator
assert_equal "Charlie", @version.terminator
- assert_equal "Charlie", @widget.paper_trail_originator
+ assert_equal "Charlie", @widget.paper_trail.originator
end
end
end
end
end
@@ -733,11 +735,11 @@
end
should "should return the correct originator" do
PaperTrail.whodunnit = "Ben"
@foo.update_attribute(:name, "Geoffrey")
- assert_equal PaperTrail.whodunnit, @foo.paper_trail_originator
+ assert_equal PaperTrail.whodunnit, @foo.paper_trail.originator
end
context "when destroyed" do
setup { @foo.destroy }
@@ -766,44 +768,47 @@
@widget.versions[2].update_attributes created_at: @second_update
@widget.update_attribute :updated_at, @second_update
end
should "return nil for version_at before it was created" do
- assert_nil @widget.version_at(@created - 1)
+ assert_nil @widget.paper_trail.version_at(@created - 1)
end
should "return how it looked when created for version_at its creation" do
- assert_equal "Widget", @widget.version_at(@created).name
+ assert_equal "Widget", @widget.paper_trail.version_at(@created).name
end
should "return how it looked before its first update" do
- assert_equal "Widget", @widget.version_at(@first_update - 1).name
+ assert_equal "Widget", @widget.paper_trail.version_at(@first_update - 1).name
end
should "return how it looked after its first update" do
- assert_equal "Fidget", @widget.version_at(@first_update).name
+ assert_equal "Fidget", @widget.paper_trail.version_at(@first_update).name
end
should "return how it looked before its second update" do
- assert_equal "Fidget", @widget.version_at(@second_update - 1).name
+ assert_equal "Fidget", @widget.paper_trail.version_at(@second_update - 1).name
end
should "return how it looked after its second update" do
- assert_equal "Digit", @widget.version_at(@second_update).name
+ assert_equal "Digit", @widget.paper_trail.version_at(@second_update).name
end
should "return the current object for version_at after latest update" do
- assert_equal "Digit", @widget.version_at(1.day.from_now).name
+ assert_equal "Digit", @widget.paper_trail.version_at(1.day.from_now).name
end
context "passing in a string representation of a timestamp" do
should "still return a widget when appropriate" do
# need to add 1 second onto the timestamps before casting to a string,
# since casting a Time to a string drops the microseconds
- assert_equal "Widget", @widget.version_at((@created + 1.second).to_s).name
- assert_equal "Fidget", @widget.version_at((@first_update + 1.second).to_s).name
- assert_equal "Digit", @widget.version_at((@second_update + 1.second).to_s).name
+ assert_equal "Widget",
+ @widget.paper_trail.version_at((@created + 1.second).to_s).name
+ assert_equal "Fidget",
+ @widget.paper_trail.version_at((@first_update + 1.second).to_s).name
+ assert_equal "Digit",
+ @widget.paper_trail.version_at((@second_update + 1.second).to_s).name
end
end
end
context ".versions_between" do
@@ -817,17 +822,17 @@
@widget.update_attribute :updated_at, @second_update
end
should "return versions in the time period" do
assert_equal ["Fidget"],
- @widget.versions_between(20.days.ago, 10.days.ago).map(&:name)
+ @widget.paper_trail.versions_between(20.days.ago, 10.days.ago).map(&:name)
assert_equal %w(Widget Fidget),
- @widget.versions_between(45.days.ago, 10.days.ago).map(&:name)
+ @widget.paper_trail.versions_between(45.days.ago, 10.days.ago).map(&:name)
assert_equal %w(Fidget Digit Digit),
- @widget.versions_between(16.days.ago, 1.minute.ago).map(&:name)
+ @widget.paper_trail.versions_between(16.days.ago, 1.minute.ago).map(&:name)
assert_equal [],
- @widget.versions_between(60.days.ago, 45.days.ago).map(&:name)
+ @widget.paper_trail.versions_between(60.days.ago, 45.days.ago).map(&:name)
end
end
context "on the first version" do
setup { @version = @widget.versions.first }
@@ -946,37 +951,39 @@
should "know which version it came from" do
assert_equal @version, @widget.version
end
should "return its previous self" do
- assert_equal @widget.versions[-2].reify, @widget.previous_version
+ assert_equal @widget.versions[-2].reify,
+ @widget.paper_trail.previous_version
end
end
context "A non-reified item" do
setup { @widget = Widget.new }
should "not have a previous version" do
- assert_nil @widget.previous_version
+ assert_nil @widget.paper_trail.previous_version
end
should "not have a next version" do
- assert_nil @widget.next_version
+ assert_nil @widget.paper_trail.next_version
end
context "with versions" do
setup do
@widget.save
%w( Tom Dick Jane ).each { |name| @widget.update_attributes name: name }
end
should "have a previous version" do
- assert_equal @widget.versions.last.reify.name, @widget.previous_version.name
+ assert_equal @widget.versions.last.reify.name,
+ @widget.paper_trail.previous_version.name
end
should "not have a next version" do
- assert_nil @widget.next_version
+ assert_nil @widget.paper_trail.next_version
end
end
end
context "A reified item" do
@@ -986,17 +993,19 @@
@second_widget = @widget.versions[1].reify # first widget is `nil`
@last_widget = @widget.versions.last.reify
end
should "have a previous version" do
- assert_nil @second_widget.previous_version # `create` events return `nil` for `reify`
- assert_equal @widget.versions[-2].reify.name, @last_widget.previous_version.name
+ # `create` events return `nil` for `reify`
+ assert_nil @second_widget.paper_trail.previous_version
+ assert_equal @widget.versions[-2].reify.name,
+ @last_widget.paper_trail.previous_version.name
end
should "have a next version" do
- assert_equal @widget.versions[2].reify.name, @second_widget.next_version.name
- assert_equal @last_widget.next_version.name, @widget.name
+ assert_equal @widget.versions[2].reify.name, @second_widget.paper_trail.next_version.name
+ assert_equal @last_widget.paper_trail.next_version.name, @widget.name
end
end
context ":has_many :through" do
setup do
@@ -1268,17 +1277,18 @@
should "create a new version record" do
assert_equal 2, @doc.paper_trail_versions.length
end
should "respond to `next_version` as normal" do
- assert_equal @doc.paper_trail_versions.last.reify.next_version.name, @doc.name
+ reified = @doc.paper_trail_versions.last.reify
+ assert_equal reified.paper_trail.next_version.name, @doc.name
end
should "respond to `previous_version` as normal" do
@doc.update_attributes name: "Doc 2"
assert_equal 3, @doc.paper_trail_versions.length
- assert_equal "Doc 1", @doc.previous_version.name
+ assert_equal "Doc 1", @doc.paper_trail.previous_version.name
end
end
context "The `on` option" do
context "on create" do
@@ -1348,11 +1358,11 @@
should "not have any versions" do
assert_equal 0, @fluxor.versions.length
end
should "still respond to touch_with_version" do
- @fluxor.touch_with_version
+ @fluxor.paper_trail.touch_with_version
assert_equal 1, @fluxor.versions.length
end
end
context "allows a symbol to be passed" do
setup do
@@ -1403,10 +1413,10 @@
should "know which version it came from" do
assert_equal @version, @widget.custom_version
end
should "return its previous self" do
- assert_equal @widget.versions[-2].reify, @widget.previous_version
+ assert_equal @widget.versions[-2].reify, @widget.paper_trail.previous_version
end
end
context "custom events" do
context "on create" do