Coverage for backend \ app \ Pedido \ models \ pedidoModel.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, Float, DateTime, String, ForeignKey, func 

2from sqlalchemy.orm import relationship 

3from app.database import Base 

4 

5class Pedido(Base): 

6 __tablename__ = "pedido" 

7 idPedido = Column(Integer, primary_key=True, autoincrement=True) 

8 idUsuarioCreador = Column(Integer, ForeignKey("usuario.idUsuario"), nullable=False) 

9 idUsuarioAprobador = Column(Integer, ForeignKey("usuario.idUsuario"), nullable=True) 

10 totalCostoPedido = Column(Float, nullable=False, default=0.0) 

11 fechaCreacion = Column(DateTime(timezone=True), server_default=func.now()) 

12 estadoPedido = Column(String(30), nullable=False) 

13 observaciones = Column(String(500), nullable=True) 

14 

15 detalles = relationship("DetallePedido", back_populates="pedido") 

16 

17 # Relaciones a usuarios para incluir información completa en respuestas 

18 #usuarioCreador = relationship("Usuario", foreign_keys=[idUsuarioCreador]) 

19 #usuarioAprobador = relationship("Usuario", foreign_keys=[idUsuarioAprobador]) 

20 usuarioCreador = relationship( 

21 "Usuario", 

22 foreign_keys=[idUsuarioCreador], 

23 back_populates="pedidosCreados" 

24 ) 

25 

26 usuarioAprobador = relationship( 

27 "Usuario", 

28 foreign_keys=[idUsuarioAprobador], 

29 back_populates="pedidosAprobados" 

30 )