diff --git a/passerelle/contrib/rsa13/models.py b/passerelle/contrib/rsa13/models.py index 20feea2e..f80b9d41 100644 --- a/passerelle/contrib/rsa13/models.py +++ b/passerelle/contrib/rsa13/models.py @@ -303,7 +303,7 @@ class RSA13Resource(BaseResource, HTTPResource): 'email': { 'type': 'string', 'maxLength': 78, - 'pattern': '^.*@.*$', + 'pattern': '^(.*@.*)?$', }, 'nom': { 'type': 'string', @@ -404,7 +404,7 @@ class RSA13Resource(BaseResource, HTTPResource): 'email': { 'type': 'string', 'maxLength': 78, - 'pattern': '^.*@.*$', + 'pattern': '^(.*@.*)?$', }, 'nom': { 'type': 'string', @@ -902,7 +902,7 @@ class RSA13Resource(BaseResource, HTTPResource): 'properties': { 'courriel': { 'type': 'string', - 'pattern': '^.*@.*$', + 'pattern': '^(.*@.*)?$', }, 'commentaire': { 'type': 'string', diff --git a/tests/test_rsa13.py b/tests/test_rsa13.py index 16d5fe4f..3fbb2470 100644 --- a/tests/test_rsa13.py +++ b/tests/test_rsa13.py @@ -207,6 +207,20 @@ def test_platform_referent_post(app, rsa13, url): assert response.json == {'err': 0} +@mock_response(['/api/platform/11/referent/', {'err': 0}]) +def test_platform_referent_post_empty_mail_and_tel(app, rsa13, url): + response = app.post_json( + url + 'platform/11/referent/', + params={ + 'email': '', + 'prenom': 'John', + 'nom': 'Doe', + 'tel': '', + }, + ) + assert response.json == {'err': 0} + + @mock_response(['/api/platform/11/referent/1/', {'err': 0}]) def test_platform_referent_update(app, rsa13, url): response = app.post_json(