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
112 lines (92 loc) • 3.03 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _defineProperty2() {
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
_defineProperty2 = function () {
return data;
};
return data;
}
function _utils() {
const data = require("../../utils");
_utils = function () {
return data;
};
return data;
}
class SpecsResults {
constructor({
tests,
stats,
pass,
failures,
specFile
}) {
(0, _defineProperty2().default)(this, "tests", void 0);
(0, _defineProperty2().default)(this, "stats", void 0);
(0, _defineProperty2().default)(this, "pass", void 0);
(0, _defineProperty2().default)(this, "failures", void 0);
(0, _defineProperty2().default)(this, "specFile", void 0);
this.tests = tests;
this.stats = stats;
this.pass = pass;
this.failures = failures;
this.specFile = (0, _utils().pathNormalizeToLinux)(specFile);
}
serialize() {
return {
tests: this.tests,
stats: this.stats,
pass: this.pass,
failures: this.failures,
specFile: this.specFile
};
}
static deserialize(plainObject) {
return new SpecsResults(plainObject);
}
static createFromRaw(rawResults) {
const hasFailures = rawResults.failures && rawResults.failures.length;
const pass = rawResults.pass || !hasFailures && rawResults.tests.every(test => test.pass);
let failures;
const calcDuration = (endDateString, startDateString) => {
if (!endDateString || !startDateString) return undefined; // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
return new Date(endDateString) - new Date(startDateString);
};
const start = rawResults.stats ? rawResults.stats.start : undefined;
const end = rawResults.stats ? rawResults.stats.end : undefined;
const duration = // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
rawResults.stats && rawResults.stats.duration ? parseInt(rawResults.stats.duration) : calcDuration(end, start);
const stats = {
start,
end,
duration
};
const tests = rawResults.tests.map(result => {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
result.duration = parseInt(result.duration);
return result;
});
if (hasFailures) {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
failures = rawResults.failures.map(failure => {
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
failure.duration = failure.duration ? parseInt(failure.duration) : undefined;
return failure;
});
} // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
return new SpecsResults({
tests,
stats,
pass,
failures,
specFile: rawResults.specPath
});
}
}
exports.default = SpecsResults;
;