Files
LogiFlow/scripts/bench/cases/referentiel.ts
T
LogiFlowandClaude Opus 5.5 600627c632 feat(rust) : serveur réécrit en Rust, Node retiré ; Calendrier en tête du menu (#571)
- Serveur Rust (server-rs/, axum + sqlx) : les 148 adresses de l'API,
  l'interface, les migrations de démarrage et les tâches de fond ; même
  comportement que Node (banc : 2027 cas, 0 écart hors écarts déclarés
  USERS-02, RAPPRO-21, R4, R5).
- Node retiré : server/, dépendances serveur, image Docker sans Node
  (51 Mo), docker-compose à un seul service applicatif.
- R4 : écritures d'un autre site refusées (Sec-Fetch-Site / Origin).
- R5 : « aujourd'hui » et sauvegarde automatique à l'heure de Paris.
- R6 : mainteneur dans .github/CODEOWNERS.
- Menu latéral : Accueil puis Calendrier en tête.
- Plan et état : docs/PLAN-MIGRATION-RUST.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ke2qyS8rgacP3ap5iezDbM
2026-10-15 20:31:14 +02:00

50 lines
2.1 KiB
TypeScript

import type { ReadCase, WriteScenario } from "../types";
export const reads: ReadCase[] = [
{ module: "contacts", path: "/api/contacts" },
{ module: "contacts", path: "/api/contacts?groupId=1" },
{ module: "contacts", path: "/api/contacts?groupId=2" },
{ module: "suppliers", path: "/api/suppliers" },
{ module: "suppliers", path: "/api/suppliers?dlc=true" },
{ module: "groups", path: "/api/groups" },
{ module: "users", path: "/api/users" },
// Express ignore la casse et une « / » finale
{ module: "contacts", path: "/api/Contacts?groupId=1" },
{ module: "suppliers", path: "/api/suppliers/" },
];
export const writes: WriteScenario[] = [
{
module: "contacts",
name: "créer, modifier, supprimer un contact",
steps: [
{ method: "POST", path: "/api/contacts", body: { groupId: 1, name: "Nouveau contact", company: "Société", phone: "06 99 99 99 99", email: "nouveau@banc.test", notes: "Note" } },
{ method: "PUT", path: "/api/contacts/{{0.id}}", body: { name: "Contact modifié", phone: "06 88 88 88 88" } },
{ method: "PUT", path: "/api/contacts/3", body: { name: "Autre magasin" } },
{ method: "DELETE", path: "/api/contacts/{{0.id}}" },
{ method: "DELETE", path: "/api/contacts/3" },
],
tables: ["contacts"],
},
{
module: "contacts",
name: "créer un contact invalide",
steps: [
{ method: "POST", path: "/api/contacts", body: { groupId: 1 } },
{ method: "POST", path: "/api/contacts", body: { groupId: 2, name: "Metz" } },
],
tables: ["contacts"],
},
{
module: "suppliers",
name: "créer, modifier, supprimer un fournisseur",
steps: [
{ method: "POST", path: "/api/suppliers", body: { name: "Nouveau fournisseur", contact: "M. Neuf", phone: "01 23 45 67 89", hasDlc: true, email: "neuf@banc.test", codefou: "F099" } },
{ method: "PUT", path: "/api/suppliers/{{0.id}}", body: { name: "Fournisseur renommé", automaticReconciliation: true } },
{ method: "DELETE", path: "/api/suppliers/{{0.id}}" },
{ method: "POST", path: "/api/suppliers", body: { contact: "sans nom" } },
],
tables: ["suppliers"],
},
];