def test_delete_object_when_locked(self): from plone.app.content.browser.contents.delete import DeleteActionView lockable = IRefreshableLockable(self.portal.page) lockable.lock() view = DeleteActionView(self.portal, self.request) view() self.assertEquals(len(view.errors), 1)
def test_delete_wrong_object_by_acquisition(self): page_id = self.portal.page.id f1 = self.portal.invokeFactory('Folder', id="f1", title="folder one") # created a nested page with the same id as the one at the site root p1 = self.portal[f1].invokeFactory('Document', id=page_id, title="page") self.assertEquals(p1, page_id) request2 = self.make_request() # both pages exist before we delete on for location in [self.portal, self.portal[f1]]: self.assertTrue(p1 in location) # instantiate two different views and delete the same object with each from plone.app.content.browser.contents.delete import DeleteActionView object_uuid = IUUID(self.portal[f1][p1]) for req in [self.request, request2]: req.form = { 'selection': '["{}"]'.format(object_uuid), '_authenticator': createToken(), 'folder': '/{}/'.format(f1) } view = DeleteActionView(self.portal, req) view() # the root page exists, the nested one is gone self.assertTrue(p1 in self.portal) self.assertFalse(p1 in self.portal[f1])
def test_delete_object(self): from plone.app.content.browser.contents.delete import DeleteActionView page_id = self.portal.page.id self.assertTrue(page_id in self.portal) view = DeleteActionView(self.portal, self.request) view() self.assertTrue(page_id not in self.portal)