From 34ac761cb1fd2b7b9438765d14ded85dfab0453b Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Sat, 10 May 2014 14:55:57 -0400 Subject: [PATCH] 2762: Test assigning random non-existent owner_uuids to new objects. --- services/api/test/unit/owner_test.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/services/api/test/unit/owner_test.rb b/services/api/test/unit/owner_test.rb index 2cb40630dd..df96f31255 100644 --- a/services/api/test/unit/owner_test.rb +++ b/services/api/test/unit/owner_test.rb @@ -24,6 +24,20 @@ class OwnerTest < ActiveSupport::TestCase 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 -- 2.39.5