User.tos_accepted_at #473

This commit is contained in:
Daniel Grams 2023-05-11 14:53:37 +02:00
parent bcaeefc12e
commit 66a3a60558
3 changed files with 18 additions and 4 deletions

View File

@ -13,13 +13,13 @@ Cypress.Commands.add("logexec", (command) => {
Cypress.Commands.add("setup", () => {
cy.logexec("flask test reset --seed");
cy.logexec("flask user create test@test.de password --confirm");
cy.logexec("flask user create test@test.de password --confirm --accept-tos");
});
Cypress.Commands.add(
"createUser",
(email = "test@test.de", password = "password", admin = false) => {
let cmd = 'flask user create "' + email + '" "' + password + '" --confirm';
let cmd = 'flask user create "' + email + '" "' + password + '" --confirm --accept-tos';
if (admin) {
cmd += " --admin";
}

View File

@ -9,6 +9,7 @@ from project.services.user import (
add_admin_roles_to_user,
create_user,
find_user_by_email,
set_user_accepted_tos,
)
user_cli = AppGroup("user")
@ -27,7 +28,8 @@ def add_admin_roles(email):
@click.argument("password")
@click.option("--confirm/--no-confirm", default=False)
@click.option("--admin/--no-admin", default=False)
def create(email, password, confirm, admin):
@click.option("--accept-tos/--no-accept-tos", default=False)
def create(email, password, confirm, admin, accept_tos):
user = create_user(email, password)
if confirm:
@ -36,6 +38,9 @@ def create(email, password, confirm, admin):
if admin:
add_admin_roles_to_user(email)
if accept_tos:
set_user_accepted_tos(user)
db.session.commit()
result = {"user_id": user.id}
click.echo(json.dumps(result))

View File

@ -37,7 +37,15 @@ def test_create(client, seeder, app):
runner = app.test_cli_runner()
result = runner.invoke(
args=["user", "create", "test@test.de", "password", "--confirm", "--admin"]
args=[
"user",
"create",
"test@test.de",
"password",
"--confirm",
"--admin",
"--accept-tos",
]
)
assert "user_id" in result.output
@ -46,6 +54,7 @@ def test_create(client, seeder, app):
user = find_user_by_email("test@test.de")
assert user.confirmed_at is not None
assert user.tos_accepted_at is not None
def test_confirm(client, seeder, app):