Coverage for backend \ app \ Productos \ controllers \ proveedorController.py: 86.36%

22 statements  

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

1from fastapi import APIRouter, Depends 

2from app.Productos.services.proveedorService import ProveedorService 

3from app.Productos.schemas.proveedorSchemas import * 

4from app.database import obtenerSesion 

5from app.configuracionGeneral.seguridadJWT import protegerRuta 

6from app.configuracionGeneral.schemasGenerales import respuestaApi 

7 

8router = APIRouter(dependencies=[Depends(protegerRuta("Productos", "ALL"))]) 

9 

10@router.get("/", tags=["Proveedor"], summary="Obtener todos los proveedores", status_code=200, response_model=respuestaApi) 

11async def obtenerTodosLosProveedores(dbSession=Depends(obtenerSesion)): 

12 return ProveedorService(dbSession).listarProveedores() 

13 

14@router.get("/{idProveedor}", tags=["Proveedor"], summary="Obtener un proveedor por id", status_code=200, response_model=respuestaApi) 

15async def obtenerProveedorPorId(idProveedor: int, dbSession=Depends(obtenerSesion)): 

16 return ProveedorService(dbSession).obtenerPorId(idProveedor) 

17 

18@router.post("/", tags=["Proveedor"], description="Crear un nuevo proveedor", status_code=201, response_model=respuestaApi) 

19async def crearProveedor(proveedor: ProveedorCrearSchema, dbSession=Depends(obtenerSesion)): 

20 return ProveedorService(dbSession).crearProveedor(proveedor) 

21 

22@router.put("/{idProveedor}", tags=["Proveedor"], summary="Actualizar un proveedor por id", status_code=200, response_model=respuestaApi) 

23async def actualizarProveedor(idProveedor: int, proveedor: ProveedorActualizarSchema, dbSession=Depends(obtenerSesion)): 

24 return ProveedorService(dbSession).modificarProveedor(idProveedor, proveedor) 

25 

26@router.delete("/{idProveedor}", tags=["Proveedor"], summary="Deshabilitar un proveedor por id", status_code=200, response_model=respuestaApi) 

27async def deshabilitarProveedor(idProveedor: int, dbSession=Depends(obtenerSesion)): 

28 return ProveedorService(dbSession).deshabilitarProveedor(idProveedor)