Example #1
0
    def test_admin_update_user_adding_new_roles_to_user(self, test_client):
        user = User.create(email="*****@*****.**", password="******")
        role1 = Role.create(name="test1-role")
        role2 = Role.create(name="test2-role")
        data = {
            "id": str(user.id),
            "email": "*****@*****.**",
            "password": "******",
            "first_name": "Test",
            "last_name": "User",
            "is_admin": "",
            f"role_{role1.id}": "",
            f"role_{role2.id}": "",
        }

        response = test_client.post(
            f"{module_info['url_prefix']}/update",
            data=data,
            follow_redirects=True,
        )

        assert response.status_code == 200
        assert user.email == "*****@*****.**"
        assert user.check_hash("newpass")
        assert user.first_name == "Test"
        assert user.last_name == "User"
        assert len(user.roles) == 2
        assert role1.users[0].email == "*****@*****.**"
        assert role2.users[0].email == "*****@*****.**"
Example #2
0
    def test_admin_edit_existing_user_get(self, test_client):
        user = User.create(email="*****@*****.**", password="******")

        response = test_client.get(
            f"{module_info['url_prefix']}/edit/{user.id}", )

        assert response.status_code == 200
        assert b"*****@*****.**" in response.data
        assert b"Edit User" in response.data
Example #3
0
def register():

    context = {}
    reg_form = RegistrationForm()
    context["form"] = reg_form

    if request.method == "POST":

        if reg_form.validate_on_submit():

            email = reg_form.email.data
            password = reg_form.password.data

            # add the user to the db
            User.create(email=email, password=password)

            flash(notify_success("Registered successfully! Please Log In"))
            return redirect(url_for("auth.login"))

    return render_template("auth/register.html", **context)
Example #4
0
    def test_admin_add_existing_user_post(self, test_client):
        User.create(email="*****@*****.**", password="******")
        data = {
            "email": "*****@*****.**",
            "password": "******",
            "first_name": "Test",
            "last_name": "User",
            "is_admin": "",
        }

        response = test_client.post(
            f"{module_info['url_prefix']}/add",
            data=data,
            follow_redirects=True,
        )
        test_users = User.query.filter(User.email == "*****@*****.**").count()

        assert response.status_code == 200
        assert b"User with same email already exists" in response.data
        assert test_users == 1