UNPKG

@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
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>;