UNPKG

e2ed

Version:

E2E testing framework over Playwright

34 lines (24 loc) 898 B
import {stringify} from 'node:querystring'; import {URL} from 'node:url'; import {WebSocketRoute} from 'e2ed'; import {assertValueIsTrue} from 'e2ed/utils'; import type {WebSocketScoreRequest, WebSocketScoreResponse} from 'autotests/types'; import type {Url} from 'e2ed/types'; type Params = Readonly<{size: number}>; const pathname = '/score'; /** * Score WebSocket. */ export class Score extends WebSocketRoute<Params, WebSocketScoreRequest, WebSocketScoreResponse> { static override getParamsFromUrlOrThrow(url: Url): Params { const urlObject = new URL(url); const size = urlObject.searchParams.get('size'); assertValueIsTrue(urlObject.pathname === pathname, 'pathname is correct', {urlObject}); return {size: Number(size)}; } getPath(): string { const {size} = this.routeParams; const query = stringify({size}); return `${pathname}?${query}`; } }