Make sure the tests pass in the case closer to described in #8195

Conflicts:
	activerecord/test/models/bulb.rb
	activerecord/test/schema/schema.rb
This commit is contained in:
Rafael Mendonça França 2012-11-29 21:35:30 -02:00
parent 567cdd1f29
commit 3142bf51ee
4 changed files with 14 additions and 19 deletions

View File

@ -23,6 +23,8 @@ require 'models/edge'
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 @@ class BasicsTest < ActiveRecord::TestCase
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)

View File

@ -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

View File

@ -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

View File

@ -115,6 +115,7 @@ ActiveRecord::Schema.define do
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|