Checkpoint: Historique des imports enrichi avec le compte, la source, le déclencheur, les résultats, les erreurs et les informations du fichier source. Les administrateurs peuvent déclencher une lecture e-mail ponctuelle pour une boîte configurée, avec confirmation explicite, sans activer ni créer de planification. Migration importTrigger appliquée en sandbox ; TypeScript, 48 tests, build et rendus bureau/mobile validés.
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { createImapFlowOptions, type EmailImportConfig } from "./emailImportService";
|
||||
import {
|
||||
createImapFlowOptions,
|
||||
type EmailImportConfig,
|
||||
validateEmailImportConfiguration,
|
||||
} from "./emailImportService";
|
||||
|
||||
const baseConfig: EmailImportConfig = {
|
||||
userId: 2,
|
||||
@@ -36,3 +40,39 @@ describe("createImapFlowOptions", () => {
|
||||
expect(options.auth).not.toHaveProperty("accessToken");
|
||||
});
|
||||
});
|
||||
|
||||
describe("validateEmailImportConfiguration", () => {
|
||||
it("accepte une boîte OAuth2 configurée même lorsque la planification automatique est désactivée", () => {
|
||||
const error = validateEmailImportConfiguration({
|
||||
emailImportEnabled: 0,
|
||||
emailImportAddress: "compta@example.org",
|
||||
emailImportPassword: null,
|
||||
emailImportHost: "outlook.office365.com",
|
||||
emailImportPort: 993,
|
||||
emailImportSinceDate: null,
|
||||
emailImportAuthMode: "oauth2",
|
||||
azureTenantId: "tenant",
|
||||
azureClientId: "client",
|
||||
azureClientSecret: "secret",
|
||||
});
|
||||
|
||||
expect(error).toBeNull();
|
||||
});
|
||||
|
||||
it("refuse une boîte dont la configuration IMAP est incomplète", () => {
|
||||
const error = validateEmailImportConfiguration({
|
||||
emailImportEnabled: 0,
|
||||
emailImportAddress: "compta@example.org",
|
||||
emailImportPassword: null,
|
||||
emailImportHost: null,
|
||||
emailImportPort: 993,
|
||||
emailImportSinceDate: null,
|
||||
emailImportAuthMode: "oauth2",
|
||||
azureTenantId: "tenant",
|
||||
azureClientId: "client",
|
||||
azureClientSecret: "secret",
|
||||
});
|
||||
|
||||
expect(error).toBe("Configuration IMAP incomplète");
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user