Yield generated for 45c8e6fd-2b78-46ce-b7fc-e16fda0b8009
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
2.2 KiB

# coding: utf-8
from flask import url_for
from conduit.exceptions import USER_ALREADY_REGISTERED
def _register_user(testapp, name, **kwargs):
return testapp.post_json(url_for("user.register_user"), {
"user": {
"username": "mo" + name,
"email": "mo" + name + "@mo.mo",
"password": "momo"
}
}, **kwargs)
class TestAuthenticate:
def test_register_user(self, testapp):
resp = _register_user(testapp, 'register_user')
assert resp.json['user']['email'] == 'moregister_user@mo.mo'
assert resp.json['user']['token'] != 'None'
assert resp.json['user']['token'] != ''
def test_user_login(self, testapp):
_register_user(testapp, 'login')
resp = testapp.post_json(url_for('user.login_user'), {'user': {
'email': 'mologin@mo.mo',
'password': 'momo'
}})
assert resp.json['user']['email'] == 'mologin@mo.mo'
assert resp.json['user']['token'] != 'None'
assert resp.json['user']['token'] != ''
def test_get_user(self, testapp):
resp = _register_user(testapp, 'getUser')
token = str(resp.json['user']['token'])
resp = testapp.get(url_for('user.get_user'), headers={
'Authorization': 'Token {}'.format(token)
})
assert resp.json['user']['email'] == 'mogetUser@mo.mo'
assert resp.json['user']['token'] == token
def test_register_already_registered_user(self, testapp):
_register_user(testapp, 'already_register')
resp = _register_user(testapp, 'already_register', expect_errors=True)
assert resp.status_int == 422
assert resp.json == USER_ALREADY_REGISTERED['message']
def test_update_user(self, testapp):
resp = _register_user(testapp, 'update')
token = str(resp.json['user']['token'])
resp = testapp.put_json(url_for('user.update_user'), {
'user': {
'email': 'meh@mo.mo',
'bio': 'I\'m a simple man',
'password': 'hmm'
}
}, headers={
'Authorization': 'Token {}'.format(token)
})
assert resp.json['user']['bio'] == 'I\'m a simple man'
assert resp.json['user']['email'] == 'meh@mo.mo'