async def create_area(db: Session, area: schemas.AreaCreate) -> schemas.Area: ''' Cria uma nova área Entrada: Esquema de Area Saída: Esquema da Area Criada Exceções: Area já existe : Area pai não encontrada ''' filtro = db.query(models.Area)\ .filter(models.Area.descricao == area.descricao)\ .first() if filtro: raise HTTPException(status_code=409, detail="Area já cadastrada") try: if area.area_pai_id: area_pai = await get_area_by_id(db, area.area_pai_id) except HTTPException: raise HTTPException(status_code=400, detail="area pai não encontrada") db_area = models.Area(descricao=area.descricao, area_pai_id=area.area_pai_id) db.add(db_area) db.commit() db.refresh(db_area) return db_area
def test_area_with_parent(test_db, test_area) -> models.Area: """ Area with a parent for testing """ area = models.Area(descricao="Algoritmos", area_pai_id=test_area.id) test_db.add(area) test_db.commit() return area
def test_area(test_db) -> models.Area: """ Area for testing """ area = models.Area(descricao="Ciência da computação") test_db.add(area) test_db.commit() return area
async def create_area(db: Session, area: schemas.AreaCreate) -> schemas.Area: try: if area.area_pai_id: area_pai = await get_area_by_id(db, area.area_pai_id) except HTTPException: raise HTTPException(status_code=400, detail="area pai não encontrada") db_area = models.Area(descricao=area.descricao, area_pai_id=area.area_pai_id) db.add(db_area) db.commit() db.refresh(db_area) return db_area
async def create_area(db: Session, area: schemas.AreaCreate) -> schemas.Area: filtro = db.query( models.Area).filter(models.Area.descricao == area.descricao).first() if filtro: raise HTTPException(status_code=409, detail="Area já cadastrada") try: if area.area_pai_id: area_pai = await get_area_by_id(db, area.area_pai_id) except HTTPException: raise HTTPException(status_code=400, detail="area pai não encontrada") db_area = models.Area(descricao=area.descricao, area_pai_id=area.area_pai_id) db.add(db_area) db.commit() db.refresh(db_area) return db_area
projeto = models.Projeto( import pytest from db import models @pytest.fixture def test_area(test_db) -> models.Area: """ Area for testing """ area = models.Area( descricao="Ciência da computação" ) test_db.add(area) test_db.commit() return area @pytest.fixture def test_area_with_parent(test_db, test_area) -> models.Area: """ Area with a parent for testing """ area = models.Area( descricao="Algoritmos", area_pai_id=test_area.id ) test_db.add(area) test_db.commit()