Coverage for app/services/create_world_event.py: 25%

14 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2025-06-02 23:27 +0000

1from app.db.models import WorldEvent 

2from app.core.exceptions import BadRequestError, DatabaseSaveError 

3from datetime import datetime 

4 

5def create_world_event(id:int, input_name: str, input_description: str, visible: int, db): 

6 if len(input_name) > 150: 

7 raise BadRequestError("Name must be less than 150 characters") 

8 

9 try: 

10 new_world_event = WorldEvent( 

11 world_id = id, 

12 title = input_name, 

13 description = input_description, 

14 visible_at_session = visible, 

15 created_at = datetime.now() 

16 ) 

17 

18 db.add(new_world_event) 

19 db.commit() 

20 db.refresh(new_world_event) 

21 

22 return new_world_event 

23 

24 except Exception as e: 

25 raise DatabaseSaveError(str(e))