aboutsummaryrefslogtreecommitdiffstats
path: root/spec/lib/timezone_fixes_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/timezone_fixes_spec.rb')
-rw-r--r--spec/lib/timezone_fixes_spec.rb21
1 files changed, 8 insertions, 13 deletions
diff --git a/spec/lib/timezone_fixes_spec.rb b/spec/lib/timezone_fixes_spec.rb
index 525bd7561..9d6ade526 100644
--- a/spec/lib/timezone_fixes_spec.rb
+++ b/spec/lib/timezone_fixes_spec.rb
@@ -11,14 +11,13 @@ describe "when doing things with timezones" do
with_active_record_default_timezone :utc do
time = Time.local(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in EST by local method (using ENV['TZ'])
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "EST"], time.to_a
# Due to :utc active_record_default_timezone, everything saved as UTC
- assert_equal [0, 0, 5, 1, 1, 2000, 6, 1, false, "UTC"], raw_saved_time.to_a
+ assert_equal "2000-01-01 05:00:00", raw_saved_time
# As config.time_zone is UTC (from config default), times returned in UTC
assert_equal [0, 0, 5, 1, 1, 2000, 6, 1, false, "UTC"], saved_time.to_a
end
@@ -33,14 +32,12 @@ describe "when doing things with timezones" do
Time.use_zone 'Central Time (US & Canada)' do
time = Time.zone.local(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
- assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in CST by Time.local (as Time.zone has been set)
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], time.to_a
# Due to :utc active_record_default_timezone, everything saved as UTC
- assert_equal [0, 0, 6, 1, 1, 2000, 6, 1, false, "UTC"], raw_saved_time.to_a
+ assert_equal "2000-01-01 06:00:00", raw_saved_time
# Times returned in CST due to Time.use_zone and ActiveRecord::time_zone_aware_attributes
# being true
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], saved_time.to_a
@@ -55,14 +52,13 @@ describe "when doing things with timezones" do
with_active_record_default_timezone :local do
time = Time.utc(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in UTC by Time.utc method
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "UTC"], time.to_a
# Due to :local active_record_default_timezone, saved as EST
- assert_equal [0, 0, 19, 31, 12, 1999, 5, 365, false, "EST"], raw_saved_time.to_a
+ assert_equal "1999-12-31 19:00:00", raw_saved_time
# As config.time_zone is UTC (from config default), times returned in UTC
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "UTC"], saved_time.to_a
end
@@ -76,14 +72,13 @@ describe "when doing things with timezones" do
Time.use_zone 'Central Time (US & Canada)' do
time = Time.zone.local(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in CST by Time.zone.local
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], time.to_a
# Due to :local active_record_default_timezone, saved as EST
- assert_equal [0, 0, 1, 1, 1, 2000, 6, 1, false, "EST"], raw_saved_time.to_a
+ assert_equal "2000-01-01 01:00:00", raw_saved_time
# Due to Time.use_zone, and ActiveRecord::time_zone_aware_attributes
# being true, time returned in CST
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], saved_time.to_a