"""Tests unitaires du service Annonces — UT-01 à UT-05 (Bloc 3 - C7).""" import pytest from models import annonce_model from services import annonce_service def test_ut01_create_annonce_valide(db): new_id = annonce_service.create_annonce(db, "Titre test", "Contenu test", "sub-1") assert new_id is not None row = annonce_model.get(db, new_id) assert row["titre"] == "Titre test" assert row["contenu"] == "Contenu test" def test_ut02_create_annonce_titre_vide(db): with pytest.raises(annonce_service.ValidationError): annonce_service.create_annonce(db, "", "Contenu", "sub-1") def test_ut03_create_annonce_contenu_vide(db): with pytest.raises(annonce_service.ValidationError): annonce_service.create_annonce(db, "Titre", " ", "sub-1") def test_ut04_update_annonce_existante(db): new_id = annonce_service.create_annonce(db, "Avant", "Avant contenu", "sub-1") annonce_service.update_annonce(db, new_id, "Après", "Après contenu", "sub-1") row = annonce_model.get(db, new_id) assert row["titre"] == "Après" def test_ut05_update_annonce_inexistante(db): with pytest.raises(annonce_model.AnnonceNotFoundError): annonce_service.update_annonce(db, 999999, "Titre", "Contenu", "sub-1") def test_ut05b_delete_annonce_inexistante(db): with pytest.raises(annonce_model.AnnonceNotFoundError): annonce_service.delete_annonce(db, 999999, "sub-1")