"""Test create_org_invitation.""" import pytest from users.validation.schemas import create_org_invitation @pytest.mark.parametrize( ('payload', 'expected_errors'), [ pytest.param({'brand': 'awal', 'email': 'foo@bar.com'}, {}, id='awal no errors'), pytest.param( { 'brand': 'awal', 'email': 'foo@bar.com', 'admin_name': 'Insights Admin', 'auth0_application_name': 'insights-login', 'user_metadata': {'orchardIdentityId': 'uuid'}, }, {}, id='awal no errors, additional fields', ), pytest.param( { 'brand': 'theorchard', 'email': 'foo@bar.com', 'admin_name': 'Insights Admin', 'auth0_application_name': 'insights-login', 'user_metadata': {'orchardIdentityId': 'uuid'}, }, {}, id='theorchard no errors', ), pytest.param({'email': 'foo@bar.com'}, {}, id='just email, no errors'), pytest.param( { 'brand': 'dummy', 'email': 'foo@bar.com', 'admin_name': 'Insights Admin', 'auth0_application_name': 'insights-login', 'user_metadata': {'orchardIdentityId': 'uuid'}, }, { 'brand': [ 'Must be one of: theorchard, sme, overdrive, ' 'awal, knr, orchard, helpcenter, ab, msk, altafonte.' ] }, id='invalid brand', ), pytest.param({}, {'email': ['Missing data for required field.']}, id='missing email'), ], ) def test_validate_create_org_invitation_schema(payload, expected_errors): """Test validate CreateOrgInvitation schema.""" schema = create_org_invitation.CreateOrgInvitation() errors = schema.validate(payload) assert errors == expected_errors