Coverage for dibbler / queries / create_product.py: 20%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-12 18:53 +0000

1from sqlalchemy.orm import Session 

2 

3from dibbler.models import Product 

4 

5 

6def create_product( 

7 sql_session: Session, 

8 name: str, 

9 barcode: str, 

10) -> Product: 

11 if not name: 

12 raise ValueError("Name cannot be empty.") 

13 

14 if not barcode: 

15 raise ValueError("Barcode cannot be empty.") 

16 

17 # TODO: check for duplicate names, barcodes 

18 

19 # TODO: add more validation for barcode 

20 

21 product = Product(barcode, name) 

22 sql_session.add(product) 

23 sql_session.commit() 

24 

25 return product