Sha256: 19dcde74314c0e6a1ad8d6ce2ff48d18b2f1fe453a753f18250b1b28fad2cac5

Contents?: true

Size: 1.21 KB

Versions: 9

Compression:

Stored size: 1.21 KB

Contents

require "test_helper"

class TimestampTest < ActiveSupport::TestCase
  setup do
    PaperTrail.timestamp_field = :custom_created_at
    change_schema

    Fluxor.instance_eval <<-END
      has_paper_trail
    END

    @fluxor = Fluxor.create name: "Some text."
    @fluxor.update_attributes name: "Some more text."
    @fluxor.update_attributes name: "Even more text."
  end

  teardown do
    PaperTrail.timestamp_field = :created_at
    restore_schema
  end

  test "versions works with custom timestamp field" do
    # Normal behaviour
    assert_equal 3, @fluxor.versions.length
    assert_nil @fluxor.versions[0].reify
    assert_equal "Some text.", @fluxor.versions[1].reify.name
    assert_equal "Some more text.", @fluxor.versions[2].reify.name

    # Tinker with custom timestamps.
    now = Time.now.utc
    @fluxor.versions.reverse.each_with_index do |version, index|
      version.update_attribute :custom_created_at, (now + index.seconds)
    end

    # Test we are ordering by custom timestamps.
    @fluxor.versions.reload # reload association
    assert_nil @fluxor.versions[2].reify
    assert_equal "Some text.", @fluxor.versions[1].reify.name
    assert_equal "Some more text.", @fluxor.versions[0].reify.name
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/paper_trail-5.2.3/test/unit/timestamp_test.rb
paper_trail-5.2.3 test/unit/timestamp_test.rb
paper_trail-5.2.2 test/unit/timestamp_test.rb
paper_trail-5.2.1 test/unit/timestamp_test.rb
paper_trail-5.2.0 test/unit/timestamp_test.rb
paper_trail-5.1.1 test/unit/timestamp_test.rb
paper_trail-5.1.0 test/unit/timestamp_test.rb
paper_trail-5.0.1 test/unit/timestamp_test.rb
paper_trail-5.0.0 test/unit/timestamp_test.rb