diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 8644f2f4960fd874f99aebbb52bedaaf28b8e33e..e4445698dc6c6f83b13c4c78d94ffc515dd8b5bd 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -23,6 +23,8 @@ require 'models/joke' require 'models/bulb' require 'models/bird' +require 'models/car' +require 'models/bulb' require 'rexml/document' require 'active_support/core_ext/exception' @@ -1442,6 +1444,16 @@ def test_cache_key_format_for_existing_record_with_updated_at assert_equal "developers/#{dev.id}-#{dev.updated_at.utc.to_s(:nsec)}", dev.cache_key end + def test_cache_key_changes_when_child_touched + car = Car.create + Bulb.create(car: car) + + key = car.cache_key + car.bulb.touch + car.reload + assert_not_equal key, car.cache_key + end + def test_cache_key_format_for_existing_record_with_nil_updated_at dev = Developer.first dev.update_columns(updated_at: nil) diff --git a/activerecord/test/cases/cache_key_test.rb b/activerecord/test/cases/cache_key_test.rb deleted file mode 100644 index e52bbd3d30903bb24b71cc8c466959e23bda711a..0000000000000000000000000000000000000000 --- a/activerecord/test/cases/cache_key_test.rb +++ /dev/null @@ -1,18 +0,0 @@ -require "cases/helper" -require "models/invoice" -require "models/line_item" - -class CacheKeyTest < ActiveRecord::TestCase - def setup - @invoice = Invoice.create - LineItem.create(invoice: @invoice) - @invoice.reload - end - - def test_cache_key_changes_when_child_touched - key = @invoice.cache_key - @invoice.line_items[0].touch - @invoice.reload - assert_not_equal key, @invoice.cache_key - end -end diff --git a/activerecord/test/models/bulb.rb b/activerecord/test/models/bulb.rb index e4c0278c0d402f4f2d9917c7b96fa5d9b3e4140d..0109ef4f8355d107ed9eda47c725a263352e9c65 100644 --- a/activerecord/test/models/bulb.rb +++ b/activerecord/test/models/bulb.rb @@ -1,6 +1,6 @@ class Bulb < ActiveRecord::Base default_scope { where(:name => 'defaulty') } - belongs_to :car + belongs_to :car, :touch => true attr_reader :scope_after_initialize, :attributes_after_initialize diff --git a/activerecord/test/schema/schema.rb b/activerecord/test/schema/schema.rb index 35778d008a06880679d93a970bcecdd9aa6e18e1..af14bc7bd5c5d827ed623b174f9ea62caca43441 100644 --- a/activerecord/test/schema/schema.rb +++ b/activerecord/test/schema/schema.rb @@ -115,6 +115,7 @@ def create_table(*args, &block) t.integer :engines_count t.integer :wheels_count t.column :lock_version, :integer, :null => false, :default => 0 + t.timestamps end create_table :categories, :force => true do |t|