Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 12 · Exercice de TD
Dix exemplaires au plus
Projet : l'API de la Librairie · niveau 1 (application)
Énoncé
Limiter une ligne de commande à dix exemplaires d'un même livre, avec le message « Au plus 10 exemplaires de « titre » par commande. ». Vérifier par un test.
Corrigé
Une règle de plus dans verifier, avant celle de la quantité invalide :
static final int MAX_PAR_LIVRE = 10; // exercice 12.8
} else if (ligne.quantite() != null && ligne.quantite() > MAX_PAR_LIVRE) {
erreurs.add("Au plus " + MAX_PAR_LIVRE + " exemplaires de « " + livre.getTitre() + " » par commande.");
} else if (ligne.quantite() == null || ligne.quantite() < 1) {
@Test
void auPlusDixExemplairesParLivre() {
assertThat(mvc.post().uri("/api/commandes").contentType(MediaType.APPLICATION_JSON)
.content("""
{"lignes": [{"isbn": "9782956300052", "quantite": 11}],
"nom": "Ada", "courriel": "ada@example.org", "retrait": "boutique"}
"""))
.hasStatus(400)
.bodyJson().extractingPath("$.erreurs[0]")
.isEqualTo("Au plus 10 exemplaires de « Le Petit Prince » par commande.");
}
Le Petit Prince a 25 exemplaires : c'est bien la nouvelle règle qui refuse, et non le stock.
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.