Coverage for backend \ app \ Productos \ schemas \ proveedorSchemas.py: 100.00%

26 statements  

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

1from pydantic import BaseModel, Field, EmailStr 

2from typing import Optional 

3 

4class ProveedorBaseSchema(BaseModel): 

5 razonSocial: str = Field(..., min_length=3, max_length=100, example="Distribuidora Andina de Bebidas S.A.") 

6 ruc: str = Field(..., min_length=13, max_length=13, example="1790012345001") 

7 direccionProveedor: str = Field(..., max_length=100, example="Av. Maldonado y Morán Valverde, Quito") 

8 telefonoProveedor: str = Field(..., min_length=10, max_length=10, example="0991234567") 

9 emailProveedor: EmailStr = Field(..., example="ventas@andinabebidas.com") 

10 

11class ProveedorCrearSchema(ProveedorBaseSchema): 

12 pass 

13 

14class ProveedorActualizarSchema(BaseModel): 

15 razonSocial: Optional[str] = Field(None, min_length=3, max_length=100, example="Distribuidora Andina de Bebidas S.A.") 

16 direccionProveedor: Optional[str] = Field(None, max_length=100, example="Av. Maldonado y Morán Valverde, Quito") 

17 telefonoProveedor: Optional[str] = Field(None, min_length=10, max_length=10, example="0991234567") 

18 emailProveedor: Optional[EmailStr] = Field(None, example="ventas@andinabebidas.com") 

19 activoProveedor: Optional[bool] = None 

20 

21class ProveedorRespuestaSchema(BaseModel): 

22 idProveedor: int 

23 razonSocial: str 

24 ruc: str 

25 direccionProveedor: str 

26 telefonoProveedor: str 

27 emailProveedor: EmailStr 

28 activoProveedor: bool 

29 

30 class Config: 

31 from_attributes = True