225cd915cf
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. |
||
---|---|---|
.. | ||
autoloading_fixtures | ||
core_ext | ||
dependencies | ||
deprecation | ||
fixtures | ||
json | ||
notifications | ||
testing | ||
xml_mini | ||
abstract_unit.rb | ||
autoload_test.rb | ||
benchmarkable_test.rb | ||
broadcast_logger_test.rb | ||
caching_test.rb | ||
callback_inheritance_test.rb | ||
callbacks_test.rb | ||
class_cache_test.rb | ||
clean_backtrace_test.rb | ||
clean_logger_test.rb | ||
concern_test.rb | ||
configurable_test.rb | ||
constantize_test_cases.rb | ||
dependencies_test.rb | ||
dependencies_test_helpers.rb | ||
deprecation_test.rb | ||
descendants_tracker_test_cases.rb | ||
descendants_tracker_with_autoloading_test.rb | ||
descendants_tracker_without_autoloading_test.rb | ||
empty_bool.rb | ||
file_update_checker_test.rb | ||
gzip_test.rb | ||
i18n_test.rb | ||
inflector_test.rb | ||
inflector_test_cases.rb | ||
key_generator_test.rb | ||
lazy_load_hooks_test.rb | ||
load_paths_test.rb | ||
log_subscriber_test.rb | ||
logger_test.rb | ||
message_encryptor_test.rb | ||
message_verifier_test.rb | ||
multibyte_chars_test.rb | ||
multibyte_conformance.rb | ||
multibyte_test_helpers.rb | ||
multibyte_unicode_database_test.rb | ||
notifications_test.rb | ||
number_helper_i18n_test.rb | ||
number_helper_test.rb | ||
option_merger_test.rb | ||
ordered_hash_test.rb | ||
ordered_options_test.rb | ||
rescuable_test.rb | ||
safe_buffer_test.rb | ||
string_inquirer_test.rb | ||
subscriber_test.rb | ||
tagged_logging_test.rb | ||
test_test.rb | ||
time_zone_test.rb | ||
transliterate_test.rb | ||
xml_mini_test.rb |