diff options
author | Prem Sichanugrist <s@sikac.hu> | 2013-11-09 13:03:28 -0500 |
---|---|---|
committer | Prem Sichanugrist <s@sikac.hu> | 2013-11-20 16:05:02 +0700 |
commit | 225cd915cf5ab3b6662d3eecf3fe0715bf73e4de (patch) | |
tree | 4249462334353ee711378c335f95df3655d82f42 /activerecord/MIT-LICENSE | |
parent | 1ffa4abcd595b98ad83bc6b80cdf3b5a30fa25c9 (diff) | |
download | rails-225cd915cf5ab3b6662d3eecf3fe0715bf73e4de.tar.gz rails-225cd915cf5ab3b6662d3eecf3fe0715bf73e4de.tar.bz2 rails-225cd915cf5ab3b6662d3eecf3fe0715bf73e4de.zip |
Add `#travel` and `#travel_to` to AS::TestCase
Add `ActiveSupport::Testing::TimeHelpers#travel` and `#travel_to`. These
methods change current time to the given time or time difference by
stubbing `Time.now` and `Date.today` to return the time or date after
the difference calculation, or the time or date that got passed into the
method respectively. These methods also accept a block, which will
return current time back to its original state at the end of the block.
Example for `#travel`:
Time.now # => 2013-11-09 15:34:49 -05:00
travel 1.day
Time.now # => 2013-11-10 15:34:49 -05:00
Date.today # => Sun, 10 Nov 2013
Example for `#travel_to`:
Time.now # => 2013-11-09 15:34:49 -05:00
travel_to Time.new(2004, 11, 24, 01, 04, 44)
Time.now # => 2004-11-24 01:04:44 -05:00
Date.today # => Wed, 24 Nov 2004
Both of these methods also accept a block, which will return the current
time back to its original state at the end of the block:
Time.now # => 2013-11-09 15:34:49 -05:00
travel 1.day do
User.create.created_at # => Sun, 10 Nov 2013 15:34:49 EST -05:00
end
travel_to Time.new(2004, 11, 24, 01, 04, 44) do
User.create.created_at # => Wed, 24 Nov 2004 01:04:44 EST -05:00
end
Time.now # => 2013-11-09 15:34:49 -05:00
This module is included in `ActiveSupport::TestCase` automatically.
Diffstat (limited to 'activerecord/MIT-LICENSE')
0 files changed, 0 insertions, 0 deletions