Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
 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'])
Exemple #4
0
 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'])
Exemple #5
0
    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())
Exemple #6
0
 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"],
     )
Exemple #7
0
    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"]))
Exemple #8
0
    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'))
Exemple #9
0
    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())
Exemple #10
0
 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"],
     )
Exemple #11
0
    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'])
Exemple #13
0
    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"])
Exemple #14
0
    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"])