Coverage for app/services/change_world_name.py: 15%
16 statements
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-02 23:27 +0000
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-02 23:27 +0000
1from app.db.models import World
2from app.core.exceptions import WorldNotFoundError, DatabaseSaveError
4def change_world_name(world_id:int, new_name:str, user, db):
5 try:
6 world = db.query(World).where(World.id == world_id).first()
7 if not world:
8 raise WorldNotFoundError("World Not Found")
10 same_name = db.query(World).where(World.created_by == user).where(World.name == new_name).first()
11 if same_name:
12 raise WorldNotFoundError("Must have a unique name world")
14 world.name = new_name
15 db.commit()
16 db.refresh(world)
18 return world.name
20 except Exception as e:
21 raise DatabaseSaveError(str(e))