@edugouvfr/ngx-dsfr
Version:
NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).
88 lines (87 loc) • 4.7 kB
TypeScript
import { FrameLocator, Locator, Page, PageAssertionsToHaveScreenshotOptions, Response } from '@playwright/test';
export declare class BasePageObjectModel {
page: Page;
sbFrame: FrameLocator;
componentName: string;
componentType: 'components' | 'forms';
constructor(page: Page, componentName: string, componentType: 'components' | 'forms');
get frame(): FrameLocator;
goToPage(variant?: string, waitUntil?: 'load' | 'domcontentloaded' | 'networkidle' | 'commit' | undefined): Promise<Response | null>;
/**
* Permet de passer en mode plein écran afin d'éviter que le menu ne nuise à la pertinence des tests.
*/
goToFullScreen(): Promise<void>;
/**
* Test par comparaison de screenshot. Permet de prévenir les régressions visuelles sur un composant.
*
* @param screenshotName Nom du screenshot (souvent le nom du composant)
* @param options Options possibles de la méthode toHaveScreenshot
*/
testSnapshot(screenshotName: string, options?: PageAssertionsToHaveScreenshotOptions): Promise<void>;
/**
* Permet de vérifier le bon chargement d'un svg via la reponse de sa requête http.
*
* @param name Nom du svg (sans l'extension '.svg'). Vérifie le chargement de n'importe quel svg si non renseigné
* @returns La Requête reçue correspondant au chargement du svg
*/
waitForSvg(name?: string): Promise<Response>;
/**
* Test le bon chargement du svg correspondant après avoir effectué une action spécifique afin d'assurer
* la cohérence graphique d'une page en cas de tests screenshot
*
* @param action Promise correspondant à l'action censé déclencher le chargement du nouveau svg
* @param svgName Nom du svg sensé être chargé (sans l'extension '.svg'). Vérifie le chargement de n'importe quel svg si non renseigné
* @returns Une Promise contenant un tableau avec en index 0 le retour de l'action effectuée et en index 1 la reponse
* de la requête d'appel du svg
*/
doActionAndCheckSvg<T>(action: Promise<T>, svgName?: string): Promise<Awaited<T | Response>[]>;
}
/**
* Permet de charger la story faisant l'objet des tests.
*
* @param componentName Le nom canonique du composant tel qu'il est défini dans les métadonnées
* (en minuscules et espaces remplacés par des tirets du milieu)
*
* @param page La référence à une page Playwright (c'est à dire à un onglet unique du navigateur)
*
* @param variant Le nom canonique de la story (en minuscules et espaces remplacés par des tirets du milieu)
*
* @returns une promesse sur la réponse HTTP reçue par l'onglet du navigateur
*/
export declare function goToComponentPage(componentName: string, page: Page, variant?: string): Promise<Response | null>;
/**
* Permet de charger la story faisant l'objet des tests.
*
* @param componentName Le nom canonique du composant tel qu'il est défini dans les métadonnées
* (en minuscules et espaces remplacés par des tirets du milieu)
*
* @param page La référence à une page Playwright (c'est à dire à un onglet unique du navigateur)
*
* @param variant Le nom canonique de la story (en minuscules et espaces remplacés par des tirets du milieu)
*
* @returns une promesse sur la réponse HTTP reçue par l'onglet du navigateur
*/
export declare function goToFormsPage(componentName: string, page: Page, variant?: string): Promise<Response | null>;
/**
* Permet de récupérer l'iframe générée par Storybook pour charger la story.
*
* @param page La référence à une page Playwright (c'est à dire à un onglet unique du navigateur)
*
* @returns un locator sur l'iframe dont l'attribut id est égal à "storybook-preview-iframe"
*/
export declare function getSbFrame(page: Page): FrameLocator;
/**
* Actionne la combinaison clavier spécifiée et assure que le focus est positionné sur le bon élément en séquence.
*
* @param tabNavigationSequence Décrit la séquence de navigation attendue.
* @param keyPressContext Fournit le locator pointant vers l'élément qui doit être actionné.
* @param withShift
*/
export declare function testTabNavigation(tabNavigationSequence: Locator[], keyPressContext: Locator, withShift?: boolean): Promise<void>;
/**
* Test par comparaison de screenshot. Permet de prévenir les régressions visuelles sur un composant.
*
* @param page La référence à une page Playwright (c'est à dire à un onglet unique du navigateur)
* @param screenshotName Nom du screenshot (souvent le nom du composant)
*/
export declare function testSnapshot(page: Page, screenshotName: string): Promise<void>;