aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/time_travel_test.rb
diff options
context:
space:
mode:
authorZachary Scott <e@zzak.io>2014-08-19 11:29:26 -0700
committerZachary Scott <e@zzak.io>2014-08-19 11:29:26 -0700
commitab291e8718e5b3bffc282ff7a23baa5debff2bce (patch)
treef2c7ab61ac824039b43eb874bf104b005935f114 /activesupport/test/time_travel_test.rb
parentcc160fed001c57dfae03b107120d35a7f9826862 (diff)
downloadrails-ab291e8718e5b3bffc282ff7a23baa5debff2bce.tar.gz
rails-ab291e8718e5b3bffc282ff7a23baa5debff2bce.tar.bz2
rails-ab291e8718e5b3bffc282ff7a23baa5debff2bce.zip
Move TimeHelperTest to TimeTravelTest from `as/test_test.rb`
Diffstat (limited to 'activesupport/test/time_travel_test.rb')
-rw-r--r--activesupport/test/time_travel_test.rb68
1 files changed, 68 insertions, 0 deletions
diff --git a/activesupport/test/time_travel_test.rb b/activesupport/test/time_travel_test.rb
new file mode 100644
index 0000000000..cb5aac7a33
--- /dev/null
+++ b/activesupport/test/time_travel_test.rb
@@ -0,0 +1,68 @@
+class TimeTravelTest < ActiveSupport::TestCase
+ setup do
+ Time.stubs now: Time.now
+ end
+
+ teardown do
+ travel_back
+ end
+
+ def test_time_helper_travel
+ expected_time = Time.now + 1.day
+ travel 1.day
+
+ assert_equal expected_time.to_s(:db), Time.now.to_s(:db)
+ assert_equal expected_time.to_date, Date.today
+ end
+
+ def test_time_helper_travel_with_block
+ expected_time = Time.now + 1.day
+
+ travel 1.day do
+ assert_equal expected_time.to_s(:db), Time.now.to_s(:db)
+ assert_equal expected_time.to_date, Date.today
+ end
+
+ assert_not_equal expected_time.to_s(:db), Time.now.to_s(:db)
+ assert_not_equal expected_time.to_date, Date.today
+ end
+
+ def test_time_helper_travel_to
+ expected_time = Time.new(2004, 11, 24, 01, 04, 44)
+ travel_to expected_time
+
+ assert_equal expected_time, Time.now
+ assert_equal Date.new(2004, 11, 24), Date.today
+ end
+
+ def test_time_helper_travel_to_with_block
+ expected_time = Time.new(2004, 11, 24, 01, 04, 44)
+
+ travel_to expected_time do
+ assert_equal expected_time, Time.now
+ assert_equal Date.new(2004, 11, 24), Date.today
+ end
+
+ assert_not_equal expected_time, Time.now
+ assert_not_equal Date.new(2004, 11, 24), Date.today
+ end
+
+ def test_time_helper_travel_back
+ expected_time = Time.new(2004, 11, 24, 01, 04, 44)
+
+ travel_to expected_time
+ assert_equal expected_time, Time.now
+ assert_equal Date.new(2004, 11, 24), Date.today
+ travel_back
+
+ assert_not_equal expected_time, Time.now
+ assert_not_equal Date.new(2004, 11, 24), Date.today
+ end
+
+ def test_travel_to_will_reset_the_usec_to_avoid_mysql_rouding
+ travel_to Time.utc(2014, 10, 10, 10, 10, 50, 999999) do
+ assert_equal 50, Time.now.sec
+ assert_equal 0, Time.now.usec
+ end
+ end
+end