This fixes failing tests when the timezone is different than utc

There were several problems:
* Time.now returns the systems time, not the users time
* fixtures do not translate dates from timezone to utc, but stores the
  date verbatim
* calling a controller will set the timezone to the preference of the
  current_user. So it could be changed while you do not realize this. I
  fixed the failing test, but problems could be elsewhere
This commit is contained in:
Reinier Balt 2015-08-04 23:08:13 +02:00
parent 0b44fe3f08
commit e58379e81f
27 changed files with 221 additions and 214 deletions

View file

@ -98,7 +98,7 @@ class ProjectTest < ActiveSupport::TestCase
assert_equal :completed, @timemachine.aasm.current_state
assert @timemachine.completed?
assert_not_nil @timemachine.completed_at, "completed_at not expected to be nil"
assert_in_delta Time.now, @timemachine.completed_at, 1
assert_in_delta Time.zone.now, @timemachine.completed_at, 1
end
def test_delete_project_deletes_todos_within_it
@ -254,5 +254,4 @@ class ProjectTest < ActiveSupport::TestCase
p.reload
assert_equal 4, p.running_time
end
end