UNPKG

creevey

Version:

Cross-browser screenshot testing tool for Storybook with fancy UI Runner

40 lines 1.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = master; const path_1 = __importDefault(require("path")); const types_js_1 = require("../../types.js"); const stories_js_1 = require("../stories.js"); const runner_js_1 = __importDefault(require("./runner.js")); const utils_js_1 = require("../utils.js"); function mergeTests(testsWithReports, testsFromStories) { Object.values(testsFromStories) .filter(types_js_1.isDefined) .forEach((test) => { const testWithReport = testsWithReports[test.id]; if (!testWithReport) return; test.retries = testWithReport.retries; if (testWithReport.status == 'success' || testWithReport.status == 'failed') test.status = testWithReport.status; test.results = testWithReport.results; test.approved = testWithReport.approved; }); return testsFromStories; } async function master(config, options) { const runner = new runner_js_1.default(config); const reportDataPath = path_1.default.join(config.reportDir, 'data.js'); const testsFromReport = (0, utils_js_1.tryToLoadTestsData)(reportDataPath) ?? {}; await runner.init(); const tests = await (0, stories_js_1.loadTestsFromStories)(Object.keys(config.browsers), (listener) => config.storiesProvider(config, options, listener), (testsDiff) => { runner.updateTests(testsDiff); (0, stories_js_1.saveTestsJson)(runner.tests, config.reportDir); }); runner.tests = mergeTests(testsFromReport, tests); (0, stories_js_1.saveTestsJson)(runner.tests, config.reportDir); return runner; } //# sourceMappingURL=master.js.map