UNPKG

1.23 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = generateSpec;
7
8var _babelTypes = require('babel-types');
9
10var _babelTemplate = require('babel-template');
11
12var _babelTemplate2 = _interopRequireDefault(_babelTemplate);
13
14function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16/*!
17 * Copyright (c) 2015-2017 Cisco Systems, Inc. See LICENSE file.
18 */
19
20var makeDescribeBlock = (0, _babelTemplate2.default)('\n describe(DESCRIBED_THING, function() {\n IT_BLOCK\n });\n');
21
22var makeItBlock = (0, _babelTemplate2.default)('\n it(DOES_A_THING, function() {\n STATEMENTS\n });\n');
23
24/**
25 * Wraps a test case in a Mocha it-block
26 * @param {Object} a
27 * @param {string} a.name
28 * @param {Object} a.testCase
29 * @returns {[type]}
30 */
31function generateSpec(a) {
32 var itLine = a.name;
33 if (a.type.toLowerCase().includes('function')) {
34 itLine += '()';
35 }
36
37 var d = makeDescribeBlock({
38 DESCRIBED_THING: (0, _babelTypes.stringLiteral)(a.filename),
39 IT_BLOCK: makeItBlock({
40 DOES_A_THING: (0, _babelTypes.stringLiteral)(itLine),
41 STATEMENTS: a.testCase
42 })
43 });
44
45 return d;
46}
47//# sourceMappingURL=mocha-template.js.map