From 66a3a60558b9189c6cee4bdc869b9d9a19e86c8d Mon Sep 17 00:00:00 2001 From: Daniel Grams Date: Thu, 11 May 2023 14:53:37 +0200 Subject: [PATCH] User.tos_accepted_at #473 --- cypress/support/commands.js | 4 ++-- project/cli/user.py | 7 ++++++- tests/cli/test_user.py | 11 ++++++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 51e20df..5079958 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -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"; } diff --git a/project/cli/user.py b/project/cli/user.py index 9f8a046..a0a8cfb 100644 --- a/project/cli/user.py +++ b/project/cli/user.py @@ -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)) diff --git a/tests/cli/test_user.py b/tests/cli/test_user.py index 23d4f43..0df7b1a 100644 --- a/tests/cli/test_user.py +++ b/tests/cli/test_user.py @@ -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):