def test_remove_cleans_ref_catalog(self): doc1 = self.portal['doc1'] doc2 = self.portal['doc2'] doc1_refs = IReferenceable(doc1) doc2_refs = IReferenceable(doc2) doc1_refs.addReference(doc2_refs, relationship='fooRelationship') ref_catalog = self.portal.reference_catalog self.assertEquals(1, len(ref_catalog())) self.assertEquals([doc1], doc2_refs.getBackReferences()) self.portal.manage_delObjects(['doc1']) self.assertEquals(0, len(ref_catalog())) self.assertEquals([], doc2_refs.getBackReferences())
def test_rename_updates_ref_catalog(self): doc1 = self.portal['doc1'] doc2 = self.portal['doc2'] doc1_refs = IReferenceable(doc1) doc2_refs = IReferenceable(doc2) doc1_refs.addReference(doc2_refs, relationship='fooRelationship') ref_catalog = self.portal.reference_catalog self.assertEquals(1, len(ref_catalog())) self.assertEquals([doc2], doc1_refs.getReferences()) ref_brain = ref_catalog()[0] self.assertTrue(ref_brain.getPath().startswith('doc1')) self.portal.manage_renameObject(id='doc1', new_id='new_name') doc1 = self.portal['new_name'] doc1_refs = IReferenceable(doc1) self.assertEquals(1, len(ref_catalog())) ref_brain = ref_catalog()[0] self.assertTrue(ref_brain.getPath().startswith('new_name')) self.assertEquals([doc2], doc1_refs.getReferences())