Esempio n. 1
0
def register():
    users.load_logged_in_user_data()
    username = request.form['username']
    password = request.form['password']
    password_hash = generate_password_hash(password)
    role = request.form.get('role') or 'caregiver'
    firstname = request.form.get('name') or username

    data = (username, password_hash, role, firstname)

    if username is None or password is None:
        abort(400)
    if users.get_user_id(username):
        abort(400)  # user already exists

    users.add_new_user(data)

    if role == 'child':
        child_id = users.get_user_id(username)

        caregiver_id = g.user_data['id']
        users.associate_child_with_caregiver(caregiver_id, child_id)
        insert_all_default_bans(child_id)

    return redirect(url_for('views.index'))
Esempio n. 2
0
def test_api_add_person(app, auth):
    # login as caregiver

    client = app.test_client()
    client.post("/login",
                data={
                    "login": CAREGIVER_LOGIN,
                    "password": CAREGIVER_PASSWORD
                })

    # add new child
    response = client.post('api/user', data=DATASET_ADD_CHILD)
    assert response.status_code == 302

    # add new caregiver
    response = client.post('api/user', data=DATASET_ADD_CAREGIVER)
    assert response.status_code == 302

    with app.app_context():
        child = users.get_username_id_and_role_by_username('test_child')
        assert child['role'] == 'child'

        caregiver = users.get_username_id_and_role_by_username(
            'test_caregiver')
        assert caregiver['role'] == 'caregiver'

        child_id = users.get_user_id('test_child')
        caregiver_id = users.get_user_id('caregiver_login')
        assert users.is_child_under_caregiver(child_id, caregiver_id)