Spaces:
Sleeping
Sleeping
File size: 1,778 Bytes
9ea8001 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import pytest
from app.models.schemas import InputSchema
from app.services.ml_service import ml_service
def test_input_schema_validation():
# Test valid data
valid_data = {
"age": 30,
"genre": "M",
"revenu_mensuel": 5000,
"statut_marital": "Célibataire",
"departement": "R&D",
"poste": "Ingénieur",
"nombre_experiences_precedentes": 2,
"nombre_heures_travailless": 40,
"annee_experience_totale": 5,
"annees_dans_l_entreprise": 2,
"annees_dans_le_poste_actuel": 1,
"satisfaction_employee_environnement": 3,
"note_evaluation_precedente": 3,
"niveau_hierarchique_poste": 2,
"satisfaction_employee_nature_travail": 3,
"satisfaction_employee_equipe": 4,
"satisfaction_employee_equilibre_pro_perso": 3,
"note_evaluation_actuelle": 3,
"heure_supplementaires": "Non",
"augementation_salaire_precedente": "10-15%",
"nombre_participation_pee": 0,
"nb_formations_suivies": 1,
"nombre_employee_sous_responsabilite": 0,
"distance_domicile_travail": 10,
"niveau_education": 3,
"domaine_etude": "Sciences",
"ayant_enfants": "Non",
"frequence_deplacement": "Rare",
"annees_depuis_la_derniere_promotion": 1,
"annes_sous_responsable_actuel": 1
}
schema = InputSchema(**valid_data)
assert schema.age == 30
assert schema.genre == "M"
# Test invalid data (missing field)
invalid_data = valid_data.copy()
del invalid_data["age"]
with pytest.raises(ValueError):
InputSchema(**invalid_data)
def test_model_loading():
assert ml_service.model is not None
assert ml_service.expected_features is not None
|