# -*- coding: utf-8; -*- from unittest.mock import patch import colander import deform from pyramid import testing from wuttaweb.forms import widgets as mod from wuttaweb.forms.schema import PersonRef, RoleRefs, UserRefs, Permissions from tests.util import WebTestCase class TestObjectRefWidget(WebTestCase): def make_field(self, node, **kwargs): # TODO: not sure why default renderer is in use even though # pyramid_deform was included in setup? but this works.. kwargs.setdefault('renderer', deform.Form.default_renderer) return deform.Field(node, **kwargs) def test_serialize(self): model = self.app.model person = model.Person(full_name="Betty Boop") self.session.add(person) self.session.commit() # standard (editable) node = colander.SchemaNode(PersonRef(self.request, session=self.session)) widget = mod.ObjectRefWidget(self.request) field = self.make_field(node) html = widget.serialize(field, person.uuid) self.assertIn('