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
« prev ^ index » next coverage.py v7.13.0, created at 2025-12-12 18:53 +0000
1from sqlalchemy.orm import Session
3from dibbler.models import Product
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.")
14 if not barcode:
15 raise ValueError("Barcode cannot be empty.")
17 # TODO: check for duplicate names, barcodes
19 # TODO: add more validation for barcode
21 product = Product(barcode, name)
22 sql_session.add(product)
23 sql_session.commit()
25 return product