UNPKG

bit-bin

Version:

<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b

135 lines (100 loc) 3.76 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; function _bluebird() { const data = require("bluebird"); _bluebird = function () { return data; }; return data; } function _defineProperty2() { const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); _defineProperty2 = function () { return data; }; return data; } function _ramda() { const data = _interopRequireDefault(require("ramda")); _ramda = function () { return data; }; return data; } function _consumer() { const data = require("../../../api/consumer"); _consumer = function () { return data; }; return data; } function _chalkBox() { const data = require("../../chalk-box"); _chalkBox = function () { return data; }; return data; } function _constants() { const data = require("../../../constants"); _constants = function () { return data; }; return data; } function _generalError() { const data = _interopRequireDefault(require("../../../error/general-error")); _generalError = function () { return data; }; return data; } const validForkLevels = _ramda().default.values(_constants().TESTS_FORK_LEVEL); let verboseReport = false; class Test { constructor() { (0, _defineProperty2().default)(this, "name", 'test [id]'); (0, _defineProperty2().default)(this, "description", `test any set of components with a configured tester as defined in bit.json (by default applies only on modified components)\n https://${_constants().BASE_DOCS_DOMAIN}/docs/testing-components)`); (0, _defineProperty2().default)(this, "alias", ''); (0, _defineProperty2().default)(this, "opts", [['a', 'all', 'test all components in your workspace, including unmodified components'], ['v', 'verbose', 'showing npm verbose output for inspection and prints stack trace'], ['j', 'json', 'return results in json format'], ['', 'fork-level <forkLevel>', 'NONE / ONE / COMPONENT how many child process create for test running']]); (0, _defineProperty2().default)(this, "loader", true); (0, _defineProperty2().default)(this, "migration", true); (0, _defineProperty2().default)(this, "remoteOp", true); } // In case the compiler is not installed yet action([id], { all, verbose, forkLevel }) { return (0, _bluebird().coroutine)(function* () { if (id && all) { throw new (_generalError().default)('use "--all" to test all components or use a component ID to test a specific component. run tests to all new and modified components by removing all flags and parameters'); } if (forkLevel && !validForkLevels.includes(forkLevel)) { return Promise.reject(new (_generalError().default)(`fork level must be one of: ${validForkLevels.join()}`)); } verboseReport = verbose || false; // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX! const testRes = yield (0, _consumer().test)(id, forkLevel, all, verbose); const pass = testRes.results.every(comp => comp.pass); const res = { data: testRes, __code: pass ? 0 : 1 }; return res; })(); } report(results, args, flags) { if (flags.json) return JSON.stringify(results, null, 2); const specsResultsWithComponentId = results.results; if (specsResultsWithComponentId && Array.isArray(specsResultsWithComponentId)) { return (0, _chalkBox().paintAllSpecsResults)(results, verboseReport) + (0, _chalkBox().paintSummarySpecsResults)(specsResultsWithComponentId); } return "couldn't get test results..."; } } exports.default = Test;