---
title: "Référence d'API — nodefony/testing"
source: docs/api/core/testing.md
url: https://nodefony.github.io/nodefony-core/docs/api/core/testing/
---


[Documentation](../../../) › [Référence d'API](../../) › [`nodefony`](../) › testing

> Générée depuis les déclarations de types publiées de `nodefony` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `nodefony/testing`

`import { … } from "nodefony/testing"` — 15 symboles.

### Fonctions (8)

#### `adminLogin`

```ts
function adminLogin(baseUrl: string, password?: string, username?: string): Promise<string>
```

Ouvre une session administrateur sur une application qui sert, et rend l'en-tête `cookie` à rejouer.

#### `createTestModule`

```ts
function createTestModule(settings?: ITestModuleOptions): Module
```

Un module JETABLE, prêt à porter un service dans un test.

#### `csrfHeaders`

```ts
function csrfHeaders(baseUrl: string, cookie: string): Promise<Record<string, string>>
```

Complète une identité avec le jeton anti-CSRF, et rend les en-têtes à rejouer sur CHAQUE requête : `cookie` (session + `csrf-token`) et `x-csrf-token`.

#### `navigate`

```ts
function navigate(url: string, headers?: Record<string, string>): Promise<INavigationResponse>
```

Joue une NAVIGATION de navigateur vers une page : `GET` avec `Accept: text/html` et `Sec-Fetch-Mode: navigate`, sans suivre la redirection.

#### `nodefonyBin`

```ts
function nodefonyBin(since?: string): string
```

Le chemin du lanceur `nodefony`, tel que CETTE installation l'a reçu.

#### `runningAppPort`

```ts
function runningAppPort(root?: string): number
```

Port de l'application DÉMARRÉE, ou une erreur qui dit pourquoi on l'ignore.

#### `startSpareApp`

```ts
function startSpareApp(options: ISpareAppOptions): Promise<ISpareApp>
```

Démarre un exemplaire JETABLE de l'application, dans un état choisi.

#### `userLogin`

```ts
function userLogin(baseUrl: string, password?: string, username?: string): Promise<string>
```

Ouvre une session sur le compte SANS privilège du décor e2e, et rend l'en-tête `cookie` à rejouer.

### Constantes (3)

#### `E2E_ADMIN_PASSWORD`

```ts
const E2E_ADMIN_PASSWORD = "e2e-compte-jetable-42"
```

Mot de passe du compte administrateur JETABLE que le décor e2e d'une application générée pose (`NF_ADMIN_PASSWORD`, pour la suite seule — la production ne sème aucun compte sans mot de passe explicite).

#### `E2E_USER_IDENTIFIER`

```ts
const E2E_USER_IDENTIFIER = "e2e-member"
```

Identifiant du compte SANS privilège que le décor e2e d'une application générée sème à côté de l'admin (rôle `ROLE_USER` seul).

#### `E2E_USER_PASSWORD`

```ts
const E2E_USER_PASSWORD = "membre-sans-privilege-42"
```

Mot de passe du compte `E2E_USER_IDENTIFIER`. Il passe la politique de mot de passe (10 caractères, ne reprend pas l'identifiant) : un semis refusé ferait accuser la garde au lieu du décor.

### Interfaces (4)

#### `INavigationResponse`

```ts
interface INavigationResponse
```

Réponse d'une `navigate` : ce qu'un navigateur aurait vu AVANT de suivre.

- `status: number` — Statut HTTP (`302` quand la zone conduit à la connexion).
- `location: string` — En-tête `Location`, s'il y en a un — la redirection n'est jamais suivie.
- `headers: Record<string, string | string[]>` — Tous les en-têtes de la réponse, tels que reçus.

#### `ISpareApp`

```ts
interface ISpareApp
```

Un exemplaire jetable, démarré et joignable.

- `port: number` — Port sur lequel il répond — celui qui a été demandé.
- `output(): string` — Tout ce qu'il a écrit sur ses deux flux jusqu'ici.
- `stop(): Promise<void>` — L'arrête et REND à l'application son état d'exécution.

#### `ISpareAppOptions`

```ts
interface ISpareAppOptions
```

Réglages d'un exemplaire JETABLE — le port est le seul obligatoire.

- `port: number` — Port HTTP de l'exemplaire — **imposé, jamais deviné**.
- `httpsPort?: number` — Port HTTPS, quand la configuration en ouvre un — même raison.
- `env?: NodeJS.ProcessEnv` — Variables ajoutées à l'environnement de l'exemplaire.
- `root?: string` — Racine de l'application ; le répertoire courant par défaut.
- `timeoutMs?: number` — Délai maximal d'attente de la première réponse, en ms (défaut 60 000).

#### `ITestModuleOptions`

```ts
interface ITestModuleOptions
```

Réglages d'un module de test — tous facultatifs.

- `name?: string` — Nom du module (défaut `"test"`) — n'apparaît que dans les journaux.
- `path?: string` — Racine du module.
- `options?: DefaultOptionsService` — Options passées au module (`syslog`, `events`…).
- `container?: Container` — Conteneur à partager.

---

[← Toutes les références d'API](../../)
