aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2009-04-16 16:48:07 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2009-04-16 16:48:37 -0500
commitfdb61f02c54bda0ad5ff6d0259209113202b9307 (patch)
tree1e0c40ed0e6d16a2eea7b0f8642370c89e69adef /activerecord/test/cases
parentb49027e188466e55179f737906590a5feb8fea95 (diff)
downloadrails-fdb61f02c54bda0ad5ff6d0259209113202b9307.tar.gz
rails-fdb61f02c54bda0ad5ff6d0259209113202b9307.tar.bz2
rails-fdb61f02c54bda0ad5ff6d0259209113202b9307.zip
Added ActiveRecord::Base#touch to update the updated_at/on attributes with the current time [DHH]
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/timestamp_test.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/activerecord/test/cases/timestamp_test.rb b/activerecord/test/cases/timestamp_test.rb
new file mode 100644
index 0000000000..e5f8fb9c1d
--- /dev/null
+++ b/activerecord/test/cases/timestamp_test.rb
@@ -0,0 +1,30 @@
+require 'cases/helper'
+require 'models/developer'
+
+class TimestampTest < ActiveRecord::TestCase
+ fixtures :developers
+
+ def setup
+ @developer = Developer.first
+ @previously_updated_at = @developer.updated_at
+ end
+
+ def test_saving_a_changed_record_updates_its_timestamp
+ @developer.name = "Jack Bauer"
+ @developer.save!
+
+ assert @previously_updated_at != @developer.updated_at
+ end
+
+ def test_saving_a_unchanged_record_doesnt_update_its_timestamp
+ @developer.save!
+
+ assert @previously_updated_at == @developer.updated_at
+ end
+
+ def test_touching_a_record_updates_its_timestamp
+ @developer.touch
+
+ assert @previously_updated_at != @developer.updated_at
+ end
+end \ No newline at end of file