Référence d'API — nodefony/testing
stable
Documentation › Référence d’API › nodefony › testing
Générée depuis les déclarations de types publiées de
nodefony10.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#
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#
function createTestModule(settings?: ITestModuleOptions): Module
Un module JETABLE, prêt à porter un service dans un test.
csrfHeaders#
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#
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#
function nodefonyBin(since?: string): string
Le chemin du lanceur nodefony, tel que CETTE installation l’a reçu.
runningAppPort#
function runningAppPort(root?: string): number
Port de l’application DÉMARRÉE, ou une erreur qui dit pourquoi on l’ignore.
startSpareApp#
function startSpareApp(options: ISpareAppOptions): Promise<ISpareApp>
Démarre un exemplaire JETABLE de l’application, dans un état choisi.
userLogin#
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#
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#
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#
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#
interface INavigationResponse
Réponse d’une navigate : ce qu’un navigateur aurait vu AVANT de suivre.
status: number— Statut HTTP (302quand la zone conduit à la connexion).location: string— En-têteLocation, 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#
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#
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#
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.