Methods
S
T
Instance Public methods
setup()
# File activerecord/test/cases/mixin_test.rb, line 27
def setup
  Time.forced_now_time = Time.now
end
teardown()
# File activerecord/test/cases/mixin_test.rb, line 31
def teardown
  Time.forced_now_time = nil
end
test_create()
# File activerecord/test/cases/mixin_test.rb, line 54
def test_create
  obj = Mixin.create
  assert_equal Time.now, obj.updated_at
  assert_equal Time.now, obj.created_at
end
test_create_turned_off()
# File activerecord/test/cases/mixin_test.rb, line 79
def test_create_turned_off
  Mixin.record_timestamps = false

  mixin = Mixin.new

  assert_nil mixin.updated_at
  mixin.save
  assert_nil mixin.updated_at

# Make sure Mixin.record_timestamps gets reset, even if this test fails,
# so that other tests do not fail because Mixin.record_timestamps == false
rescue Exception => e
  raise e
ensure
  Mixin.record_timestamps = true
end
test_many_updates()
# File activerecord/test/cases/mixin_test.rb, line 60
def test_many_updates
  stamped = Mixin.new

  assert_nil stamped.updated_at
  assert_nil stamped.created_at
  stamped.save
  assert_equal Time.now, stamped.created_at
  assert_equal Time.now, stamped.updated_at

  old_updated_at = stamped.updated_at

  Time.forced_now_time = 5.minutes.from_now
  stamped.lft_will_change!
  stamped.save

  assert_equal Time.now, stamped.updated_at
  assert_equal old_updated_at, stamped.created_at
end
test_time_mocking()
# File activerecord/test/cases/mixin_test.rb, line 35
def test_time_mocking
  five_minutes_ago = 5.minutes.ago
  Time.forced_now_time = five_minutes_ago
  assert_equal five_minutes_ago, Time.now

  Time.forced_now_time = nil
  assert_not_equal five_minutes_ago, Time.now
end
test_update()
# File activerecord/test/cases/mixin_test.rb, line 44
def test_update
  stamped = Mixin.new

  assert_nil stamped.updated_at
  assert_nil stamped.created_at
  stamped.save
  assert_equal Time.now, stamped.updated_at
  assert_equal Time.now, stamped.created_at
end