def test_get_jsonschema_for_fti_non_dx(self): """Make sure FTIs without lookupSchema are supported.""" fti = self.portal.portal_types["Discussion Item"] self.assertFalse(hasattr(fti, "lookupSchema")) # This shouldn't raise an error. get_jsonschema_for_fti(fti, self.portal, self.request)
def test_get_jsonschema_for_fti_non_dx(self): """Make sure FTIs without lookupSchema are supported. """ fti = self.portal.portal_types['Plone Site'] self.assertFalse(hasattr(fti, 'lookupSchema')) # This shouldn't raise an error. get_jsonschema_for_fti(fti, self.portal, self.request)
def test_do_not_fail_with_non_parametrized_widget(self): ttool = getToolByName(self.portal, 'portal_types') jsonschema = get_jsonschema_for_fti(ttool['TaggedDocument'], self.portal, self.request) self.assertEqual( u'No parametrized widget field', jsonschema['properties']['not_parametrized_widget_field']['title'])
def test_get_jsonschema_with_widget_params(self): ttool = getToolByName(self.portal, 'portal_types') jsonschema = get_jsonschema_for_fti(ttool['TaggedDocument'], self.portal, self.request) self.assertEqual( 'some_value', jsonschema['properties']['parametrized_widget_field']['a_param'])
def test_get_jsonschema_for_fti(self): portal = self.portal request = self.request ttool = getToolByName(portal, 'portal_types') jsonschema = get_jsonschema_for_fti( ttool['Document'], portal, request) self.assertEqual(jsonschema['title'], 'Page') self.assertEqual(jsonschema['type'], 'object') self.assertIn('title', jsonschema['properties'].keys()) self.assertIn('title', jsonschema['required']) self.assertEquals('default', jsonschema['fieldsets'][0]['id']) self.assertIn('title', jsonschema['fieldsets'][0]['fields']) jsonschema = get_jsonschema_for_fti( ttool['Document'], portal, request, excluded_fields=['title']) self.assertNotIn('title', jsonschema['properties'].keys())
def test_do_not_fail_with_non_parametrized_widget(self): ttool = getToolByName(self.portal, "portal_types") jsonschema = get_jsonschema_for_fti(ttool["TaggedDocument"], self.portal, self.request) self.assertEqual( u"No parametrized widget field", jsonschema["properties"]["not_parametrized_widget_field"]["title"], )
def test_get_jsonschema_for_fti(self): portal = self.portal request = self.request ttool = getToolByName(portal, "portal_types") jsonschema = get_jsonschema_for_fti(ttool["Document"], portal, request) self.assertEqual(jsonschema["title"], "Page") self.assertEqual(jsonschema["type"], "object") self.assertIn("title", list(jsonschema["properties"])) self.assertIn("title", jsonschema["required"]) self.assertEqual("default", jsonschema["fieldsets"][0]["id"]) self.assertIn("title", jsonschema["fieldsets"][0]["fields"]) self.assertIn("layouts", jsonschema) jsonschema = get_jsonschema_for_fti( ttool["Document"], portal, request, excluded_fields=["title"] ) self.assertNotIn("title", list(jsonschema["properties"]))
def test_resolve_callable_widget_params(self): ttool = getToolByName(self.portal, 'portal_types') jsonschema = get_jsonschema_for_fti(ttool['TaggedDocument'], self.portal, self.request) self.assertEqual( u'Foo', jsonschema['properties']['parametrized_widget_field'].get( 'defaultFactory'))
def test_get_jsonschema_for_fti(self): portal = self.portal request = self.request ttool = getToolByName(portal, 'portal_types') jsonschema = get_jsonschema_for_fti(ttool['Document'], portal, request) self.assertEqual(jsonschema['title'], 'Page') self.assertEqual(jsonschema['type'], 'object') self.assertIn('title', jsonschema['properties'].keys()) self.assertIn('title', jsonschema['required']) self.assertEquals('default', jsonschema['fieldsets'][0]['id']) self.assertIn('title', jsonschema['fieldsets'][0]['fields']) jsonschema = get_jsonschema_for_fti(ttool['Document'], portal, request, excluded_fields=['title']) self.assertNotIn('title', jsonschema['properties'].keys())
def test_get_jsonschema_with_widget_params(self): ttool = getToolByName(self.portal, "portal_types") jsonschema = get_jsonschema_for_fti(ttool["TaggedDocument"], self.portal, self.request) self.assertEqual( "some_value", jsonschema["properties"]["parametrized_widget_field"] ["widgetOptions"]["a_param"], )
def test_resolve_callable_widget_params(self): ttool = getToolByName(self.portal, "portal_types") jsonschema = get_jsonschema_for_fti(ttool["TaggedDocument"], self.portal, self.request) self.assertEqual( u"Foo", jsonschema["properties"]["parametrized_widget_field"] ["widgetOptions"].get("defaultFactory"), )
def test_get_jsonschema_with_hidden_field(self): ttool = getToolByName(self.portal, 'portal_types') jsonschema = get_jsonschema_for_fti(ttool['TaggedDocument'], self.portal, self.request) self.assertEqual('hidden', jsonschema['properties']['field_mode_hidden']['mode']) self.assertEqual( 'display', jsonschema['properties']['field_mode_display']['mode']) self.assertEqual('input', jsonschema['properties']['field_mode_input']['mode'])
def test_get_jsonschema_with_hidden_field(self): ttool = getToolByName(self.portal, "portal_types") jsonschema = get_jsonschema_for_fti(ttool["TaggedDocument"], self.portal, self.request) self.assertEqual("hidden", jsonschema["properties"]["field_mode_hidden"]["mode"]) self.assertEqual( "display", jsonschema["properties"]["field_mode_display"]["mode"]) self.assertEqual("input", jsonschema["properties"]["field_mode_input"]["mode"])
def test_get_jsonschema_with_language_independent_fields(self): ttool = getToolByName(self.portal, "portal_types") jsonschema = get_jsonschema_for_fti(ttool["TaggedDocument"], self.portal, self.request) self.assertIn( "multilingual_options", jsonschema["properties"]["test_language_independent_field"], ) self.assertIn( "language_independent", jsonschema["properties"]["test_language_independent_field"] ["multilingual_options"], ) self.assertTrue( jsonschema["properties"]["test_language_independent_field"] ["multilingual_options"])