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'])
Example #3
0
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