Coverage for backend \ app \ Productos \ controllers \ categoriaProductoController.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.categoriaProductoService import CategoriaProductoService 

3from app.Productos.schemas.categoriaProductoSchemas 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=["CategoriaProducto"], summary="Obtener todas las categorias", status_code=200, response_model=respuestaApi) 

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

12 return CategoriaProductoService(dbSession).listarCategorias() 

13 

14@router.get("/{idCategoria}", tags=["CategoriaProducto"], summary="Obtener una categoria por id", status_code=200, response_model=respuestaApi) 

15async def obtenerCategoriaPorId(idCategoria: int, dbSession=Depends(obtenerSesion)): 

16 return CategoriaProductoService(dbSession).obtenerPorId(idCategoria) 

17 

18@router.post("/", tags=["CategoriaProducto"], description="Crear una nueva categoria", status_code=201, response_model=respuestaApi) 

19async def crearCategoria(categoria: CategoriaProductoCrearSchema, dbSession=Depends(obtenerSesion)): 

20 return CategoriaProductoService(dbSession).crearCategoria(categoria) 

21 

22@router.put("/{idCategoria}", tags=["CategoriaProducto"], summary="Actualizar una categoria por id", status_code=200, response_model=respuestaApi) 

23async def actualizarCategoria(idCategoria: int, categoria: CategoriaProductoActualizarSchema, dbSession=Depends(obtenerSesion)): 

24 return CategoriaProductoService(dbSession).modificarCategoria(idCategoria, categoria) 

25 

26@router.delete("/{idCategoria}", tags=["CategoriaProducto"], summary="Deshabilitar una categoria por id", status_code=200, response_model=respuestaApi) 

27async def deshabilitarCategoria(idCategoria: int, dbSession=Depends(obtenerSesion)): 

28 return CategoriaProductoService(dbSession).deshabilitarCategoria(idCategoria)