+
+ test "assign sequential generic name links" do
+ group = Group.create!(group_class: 'folder')
+ ob = Specimen.create!
+ 25.times do |n|
+ link = Link.create!(link_class: 'name',
+ tail_uuid: group.uuid, head_uuid: ob.uuid)
+ expect_name = 'New specimen' + (n==0 ? "" : " (#{n})")
+ assert_equal expect_name, link.name, "Expected sequential generic names"
+ end
+ end
+
+ test "assign sequential generic name links for a two-word model" do
+ group = Group.create!(group_class: 'folder')
+ ob = VirtualMachine.create!
+ 5.times do |n|
+ link = Link.create!(link_class: 'name',
+ tail_uuid: group.uuid, head_uuid: ob.uuid)
+ expect_name = 'New virtual machine' + (n==0 ? "" : " (#{n})")
+ assert_equal expect_name, link.name, "Expected sequential generic names"
+ end
+ end
+
+ test "cannot assign sequential generic name links for a bogus uuid type" do
+ group = Group.create!(group_class: 'folder')
+ link = Link.create(link_class: 'name',
+ tail_uuid: group.uuid,
+ head_uuid: 'zzzzz-abcde-123451234512345')
+ assert link.invalid?, "gave a bogus uuid, got automatic name #{link.name}"
+ end