Coverage for backend \ app \ Venta \ models \ promocionModel.py: 100.00%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-29 16:13 -0500

1from sqlalchemy import Column, Integer, String, Float, DateTime, Boolean, ForeignKey 

2from sqlalchemy.orm import relationship 

3from app.database import Base 

4from sqlalchemy.sql import func 

5 

6class Promocion(Base): 

7 __tablename__ = "promocion" 

8 idPromocion = Column(Integer, primary_key=True, autoincrement=True) 

9 idProducto = Column(Integer, ForeignKey("producto.idProducto"), nullable=False) 

10 nombrePromocion = Column(String(100), nullable=False) 

11 porcentajePromocion = Column(Float, nullable=False) 

12 fechaInicioPromocion = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) 

13 fechaFinPromocion = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) 

14 activoPromocion = Column(Boolean, default=True, nullable=False) 

15 

16 producto = relationship("Producto", back_populates="promociones") 

17 detallesVenta = relationship("DetalleVenta", back_populates="promocion")