Skip to content

Commit

Permalink
Added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
odelaere committed Jun 7, 2022
1 parent d9516a8 commit e7d5ddf
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/collective/contact/core/content/directory.py
Expand Up @@ -13,14 +13,16 @@
from zope.interface import Interface


def is_valid_identifier(identifier):
idnormalizer = getUtility(IIDNormalizer)
return idnormalizer.normalize(identifier) == identifier


class INameTokenTableRowSchema(Interface):
"""Schema for dict rows used in DataGridFields
name is the 'real' name
token is the token used in the vocabularies
"""
def is_valid_identifier(identifier):
idnormalizer = getUtility(IIDNormalizer)
return idnormalizer.normalize(identifier) == identifier

name = schema.TextLine(title=_(u"Name"))
token = schema.TextLine(title=_(u"Token"), constraint=is_valid_identifier)
Expand Down
11 changes: 11 additions & 0 deletions src/collective/contact/core/tests/test_content_types.py
@@ -1,5 +1,6 @@
# -*- coding: utf8 -*-

from collective.contact.core.content.directory import is_valid_identifier
from collective.contact.core.interfaces import IContactCoreParameters
from collective.contact.core.testing import INTEGRATION
from ecreall.helpers.testing.base import BaseTest
Expand Down Expand Up @@ -51,6 +52,16 @@ def test_directory(self):
self.assertIn({'name': 'Regiment', 'token': 'regiment'},
mydirectory.organization_levels)

def test_is_valid_identifier(self):
self.assertFalse(is_valid_identifier('Toto'))
self.assertTrue(is_valid_identifier('toto'))
self.assertTrue(is_valid_identifier('toto56'))
self.assertFalse(is_valid_identifier('toto 56'))
self.assertTrue(is_valid_identifier('toto-56'))
self.assertFalse(is_valid_identifier('toto-56@'))
self.assertFalse(is_valid_identifier('toto-56à'))
self.assertFalse(is_valid_identifier('toto-56É'))


class TestPerson(TestContentTypes):

Expand Down

0 comments on commit e7d5ddf

Please sign in to comment.