"""Régression : le panneau "+ Nouvel objet" du tableau de bord (game_dashboard.html) soumet le formulaire dès qu'on tape un nom et clique "Créer l'objet", SANS avoir forcément cliqué "+ Ajouter un champ" au moins une fois avant (les champs se posent typiquement APRÈS, depuis le panneau "Modifier un objet"). routes/objects/object_new.py exigeait pourtant au moins un champ pour créer quoi que ce soit ("if name and fields"), sans le moindre message d'erreur en cas d'échec — juste un aller-retour silencieux vers le tableau de bord, vécu comme "le panneau recharge la page sans créer d'objet".""" import db def test_object_created_with_a_name_but_no_field(client, game): resp = client.post(f"/game/{game}/objects/new", data={"object_name": "Compteur"}, follow_redirects=False) assert resp.status_code == 302 assert "/objects/" in resp.headers["Location"] definitions = db.list_definitions(game) assert len(definitions) == 1 assert definitions[0]["name"] == "Compteur" assert db.get_definition(game, definitions[0]["id"])["fields"] == [] def test_object_not_created_without_a_name(client, game): resp = client.post(f"/game/{game}/objects/new", data={"object_name": " "}, follow_redirects=False) assert resp.status_code == 302 assert db.list_definitions(game) == []