UNPKG

e2ed

Version:

E2E testing framework over Playwright

40 lines (39 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderTestRunDetails = renderTestRunDetails; const assertValueIsDefined_1 = require("../assertValueIsDefined"); const sanitizeHtml_1 = require("../sanitizeHtml"); const renderSteps_1 = require("./renderSteps"); const renderTestRunDescription_1 = require("./renderTestRunDescription"); const renderTestRunError_1 = require("./renderTestRunError"); const assertValueIsDefined = assertValueIsDefined_1.assertValueIsDefined; const renderSteps = renderSteps_1.renderSteps; const renderTestRunDescription = renderTestRunDescription_1.renderTestRunDescription; const renderTestRunError = renderTestRunError_1.renderTestRunError; const sanitizeHtml = sanitizeHtml_1.sanitizeHtml; /** * Renders tag `<article class="test-details">` with test run details. * This base client function should not use scope variables (except other base functions). * @internal */ function renderTestRunDetails(fullTestRun) { const { endTimeInMs, filePath, logEvents, name, runError, status } = fullTestRun; const { locator } = reportClientState; const firstStatusString = status[0]; assertValueIsDefined(firstStatusString); const capitalizedStatus = `${firstStatusString.toUpperCase()}${status.slice(1)}`; return sanitizeHtml `<article class="test-details"> <p class="test-details__path">${filePath}</p> <h2 class="test-details__title" ${locator('test-details-title', { capitalizedStatus })}> <span class="color-cell color-cell_status_${status} test-details__status">${capitalizedStatus}</span>${name} </h2> <div role="tabpanel"> ${renderTestRunDescription(fullTestRun)} <article class="overview"> <h3 class="overview__title">Execution</h3> ${renderSteps({ endTimeInMs, logEvents })} ${renderTestRunError(runError)} </article> </div> </article>`; }