forked from Github-Mirrors/canaille
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
from canaille.app import models
|
|
from canaille.commands import cli
|
|
|
|
|
|
def test_delete_by_id(testclient, backend):
|
|
"""Remove a model identified by its id."""
|
|
user = models.User(
|
|
formatted_name="Foo bar",
|
|
family_name="Bar",
|
|
emails=["foobar@example.test"],
|
|
user_name="foobar",
|
|
)
|
|
backend.save(user)
|
|
|
|
runner = testclient.app.test_cli_runner()
|
|
res = runner.invoke(cli, ["delete", "user", user.id])
|
|
assert res.exit_code == 0, res.stdout
|
|
|
|
assert not backend.get(models.User, user_name="foobar")
|
|
|
|
|
|
def test_delete_by_identifier(testclient, backend):
|
|
"""Remove a model identified by its identifier."""
|
|
user = models.User(
|
|
formatted_name="Foo bar",
|
|
family_name="Bar",
|
|
emails=["foobar@example.test"],
|
|
user_name="foobar",
|
|
)
|
|
backend.save(user)
|
|
|
|
runner = testclient.app.test_cli_runner()
|
|
res = runner.invoke(cli, ["delete", "user", "foobar"])
|
|
assert res.exit_code == 0, res.stdout
|
|
|
|
assert not backend.get(models.User, user_name="foobar")
|
|
|
|
|
|
def test_delete_unknown_id(testclient, backend):
|
|
"""Error case for trying to set a value for an invalid object."""
|
|
|
|
runner = testclient.app.test_cli_runner()
|
|
res = runner.invoke(cli, ["delete", "user", "invalid"])
|
|
assert res.exit_code == 1, res.stdout
|
|
assert res.stdout == "Error: No user with id 'invalid'\n"
|