assert Specimen.where(uuid: i.uuid).any?, "new item should really be in DB"
end
+ test "create object with non-existent #{o_class} owner" do
+ assert_raises(ActiveRecord::RecordInvalid,
+ "create should fail with random owner_uuid") do
+ i = Specimen.create!(owner_uuid: o_class.generate_uuid)
+ end
+
+ i = Specimen.create(owner_uuid: o_class.generate_uuid)
+ assert !i.valid?, "object with random owner_uuid should not be valid?"
+
+ i = Specimen.new(owner_uuid: o_class.generate_uuid)
+ assert !i.valid?, "new item should not pass validation"
+ assert !i.uuid, "new item should not have an ID"
+ end
+
[User, Group].each do |new_o_class|
test "change owner from legit #{o_class} to legit #{new_o_class} owner" do
o = o_class.create
i = Specimen.create(owner_uuid: o.uuid)
- new_o = o_class.create
+ new_o = new_o_class.create
assert(Specimen.where(uuid: i.uuid).any?,
"new item should really be in DB")
assert(i.update_attributes(owner_uuid: new_o.uuid),
end
end
- ['users(:active)', 'groups(:afolder)'].each do |ofixt|
+ ['users(:active)', 'groups(:aproject)'].each do |ofixt|
test "delete #{ofixt} that owns other objects" do
o = eval ofixt
assert_equal(true, Specimen.where(owner_uuid: o.uuid).any?,