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

1from app.db.models import World 

2from app.core.exceptions import WorldNotFoundError, DatabaseSaveError 

3 

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") 

9 

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") 

13 

14 world.name = new_name 

15 db.commit() 

16 db.refresh(world) 

17 

18 return world.name 

19 

20 except Exception as e: 

21 raise DatabaseSaveError(str(e))