1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test/locking_test.rb
2006-01-14 09:36:52 +00:00

46 lines
945 B
Ruby

require 'abstract_unit'
require 'fixtures/person'
require 'fixtures/legacy_thing'
class LockingTest < Test::Unit::TestCase
fixtures :people, :legacy_things
def test_lock_existing
p1 = Person.find(1)
p2 = Person.find(1)
p1.first_name = "Michael"
p1.save
assert_raises(ActiveRecord::StaleObjectError) {
p2.first_name = "should fail"
p2.save
}
end
def test_lock_new
p1 = Person.create({ "first_name"=>"anika"})
p2 = Person.find(p1.id)
assert_equal p1.id, p2.id
p1.first_name = "Anika"
p1.save
assert_raises(ActiveRecord::StaleObjectError) {
p2.first_name = "should fail"
p2.save
}
end
def test_lock_column_name_existing
t1 = LegacyThing.find(1)
t2 = LegacyThing.find(1)
t1.tps_report_number = 400
t1.save
assert_raises(ActiveRecord::StaleObjectError) {
t2.tps_report_number = 300
t2.save
}
end
end