This tests the behaviour when removing some objects referencing each other.
This should result in no confirmation form whatsoever:
>>> self.setRoles(('Manager',))
>>> p = self.portal
>>> self.setText(p.doc1, 'a document, another')
>>> self.setText(p.doc2, 'a document')
>>> self.setText(p.folder1.doc3, 'a document')
>>> ref = repr(p.doc1.getReferences())
>>> '' in ref
True
>>> '' in ref
True
>>> p.doc2.getReferences()
[]
>>> p.folder1.doc3.getReferences()
[]
Then we use a browser to try to delete all three documents. Before we
can do this we need to prevent the test framework from choking on the
exception we intentionally throw (see docs/testRemovalTriggersConfirmation.txt
for more info):
>>> self.setStatusCode('LinkIntegrityNotificationException', 200)
>>> browser = self.getBrowser(loggedIn=True)
>>> browser.open('http://nohost/plone/folder_contents')
>>> browser.getControl('Test Page 1').selected = True
>>> browser.getControl('Test Page 2').selected = True
>>> browser.getControl('Test Folder 1').selected = True
>>> browser.getControl('Delete').click()
>>> browser.url
'http://nohost/plone/...folder_contents'
>>> browser.contents
'...