magic-core
Version:
86 lines (73 loc) • 2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var TestCase =
/*#__PURE__*/
function () {
function TestCase() {
var conf = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
(0, _classCallCheck2.default)(this, TestCase);
Object.assign(this, {
name: null,
remark: null,
condition: null,
tags: [],
template: null,
data: null,
counter: 0
}, conf);
}
/**
* 是否满足条件
* @param {*} params
*/
(0, _createClass2.default)(TestCase, [{
key: "accept",
value: function accept(params) {
if (this.condition) {
return this.condition(params);
}
return true;
}
}, {
key: "produce",
value: function produce(params, conf) {
var _params$__useTemplate = params.__useTemplate__,
__useTemplate__ = _params$__useTemplate === void 0 ? false : _params$__useTemplate;
if (__useTemplate__) {
if (this.template) {
return Mock.mock(this.template);
} else {
return {
success: false,
error: new Error('模板不存在')
};
}
} else {
console.info("".concat(this.id, " produce ").concat(this.counter));
return this.data;
}
}
/**
* 生成testcase
* @param {*} json
*/
}], [{
key: "fromJSON",
value: function fromJSON(json) {
var tc = new TestCase(json);
if (json.condition) {
tc.condition = new Function('params', 'conf', json.condition);
}
return tc;
}
}]);
return TestCase;
}();
var _default = TestCase;
exports.default = _default;