Checkpoint: Ajout du déclenchement manuel pour les connecteurs web SFR : confirmation explicite, automate Chromium côté serveur, récupération des PDF par session authentifiée et injection dans le flux existant de stockage/dédoublonnage/analyse. Le bouton est désactivé pour les types sans moteur réellement livré. Le résultat affiche factures importées et doublons, sans créer de planification. Chromium et playwright-core sont intégrés à l’image. Validation locale : 77 tests, TypeScript et build.

This commit is contained in:
Manus
2026-09-30 14:39:43 +00:00
parent 405649c606
commit e08df31909
8 changed files with 260 additions and 1 deletions

View File

@@ -0,0 +1,28 @@
import { describe, expect, it } from "vitest";
import {
getManualWebImportAvailability,
runManualWebImport,
summarizeManualWebImport,
} from "./manualWebImport";
describe("manual web import", () => {
it("autorise uniquement le connecteur SFR actuellement implémenté", () => {
expect(getManualWebImportAvailability("sfr")).toEqual({ available: true });
expect(getManualWebImportAvailability("starlink")).toMatchObject({ available: false });
});
it("agrège les résultats d’envoi sans exposer de données de connexion", () => {
expect(
summarizeManualWebImport([
{ imported: 2, duplicates: 1, total: 3 },
{ imported: 0, duplicates: 1, total: 1 },
]),
).toEqual({ imported: 2, duplicates: 2, total: 4 });
});
it("refuse un type non pris en charge avant de démarrer le navigateur", async () => {
await expect(
runManualWebImport({ connectorType: "starlink" } as any),
).rejects.toThrow("n’est pas encore disponible");
});
});