def test_valuefromrequest_multi(self): """ If the request provides UIDs take these, not the references on the object for the edit-view of the widget. """ makeContent(self.folder, portal_type="Document", id="doc1") makeContent(self.folder, portal_type="Document", id="doc2") makeContent(self.folder, portal_type="Document", id="doc3") context = self.folder.doc1 request = TestRequest() helper = ReferenceBrowserHelperView(context, request) field = context.getField("relatedItems") # no relations self.assertEqual(helper.getFieldRelations(field), []) # relations on the object context.setRelatedItems(self.folder.doc3) self.assertEqual(helper.getFieldRelations(field), [self.folder.doc3]) # relations from the parameter (request, session, ...) uid = self.folder.doc2.UID() self.assertEqual(helper.getFieldRelations(field, [uid]), [self.folder.doc2]) # invalid values self.assertEqual(helper.getFieldRelations(field, 1), [])
def test_valuefromrequest_single(self): makeContent(self.folder, portal_type="RefBrowserDemo", id="ref") makeContent(self.folder, portal_type="Document", id="doc2") makeContent(self.folder, portal_type="Document", id="doc3") context = self.folder.ref request = TestRequest() field = context.getField("singleRef") helper = ReferenceBrowserHelperView(context, request) # no relations self.assertEqual(helper.getFieldRelations(field), []) # relations on the object context.setSingleRef(self.folder.doc3) self.assertEqual(helper.getFieldRelations(field), [self.folder.doc3]) # relations from the parameter (request, session, ...) uid = self.folder.doc2.UID() self.assertEqual(helper.getFieldRelations(field, uid), [self.folder.doc2])