42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
"""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")
|