e2ed
Version:
E2E testing framework over Playwright
40 lines (39 loc) • 1.88 kB
JavaScript
;
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>`;
}