def test_register_user_with_duplicated_email(self, fetch_mock): data = { 'name': 'Joao', 'email': '*****@*****.**', 'password': '******', 'phones': [{'ddd': '11', 'number': '987654321'}], } fetch_mock.return_value = 1 with self.assertRaises(DuplicatedEmail): register_user(data)
def test_register_user_sucessful(self, token_mock): token_mock.return_value = 'mocked token' data = { 'name': 'Joao', 'email': '*****@*****.**', 'password': '******', 'phones': [{'ddd': '11', 'number': '987654321'}], } user_data = register_user(data) self.assertEqual(1, user_data['id']) self.assertEqual('mocked token', user_data['token'])
def register(): # check json structure explicitly try: data = request.json data['name'] data['email'] data['password'] data['phones'] assert isinstance(data['phones'], list) for phone in data['phones']: phone['ddd'] phone['number'] except (AssertionError, KeyError, TypeError, BadRequest): return api_error('Request Inválida: formato dos parâmetros inválido', 400) try: user_data = register_user(data) except ValidationError as exc: return api_error(exc.message, 400) return user_data, 201