1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.withTests = void 0;
|
7 |
|
8 | require("core-js/modules/es.array.map.js");
|
9 |
|
10 | require("core-js/modules/es.object.values.js");
|
11 |
|
12 | require("core-js/modules/es.array.concat.js");
|
13 |
|
14 | require("core-js/modules/es.regexp.constructor.js");
|
15 |
|
16 | require("core-js/modules/es.regexp.exec.js");
|
17 |
|
18 | require("core-js/modules/es.regexp.to-string.js");
|
19 |
|
20 | require("core-js/modules/es.array.find.js");
|
21 |
|
22 | require("core-js/modules/es.object.to-string.js");
|
23 |
|
24 | require("core-js/modules/es.string.match.js");
|
25 |
|
26 | require("core-js/modules/es.function.name.js");
|
27 |
|
28 | require("core-js/modules/es.object.assign.js");
|
29 |
|
30 | var _addons = require("@storybook/addons");
|
31 |
|
32 | var _upath = require("upath");
|
33 |
|
34 | var _shared = require("./shared");
|
35 |
|
36 | var findTestResults = function findTestResults(testFiles, jestTestResults, jestTestFilesExt) {
|
37 | return Object.values(testFiles).map(function (name) {
|
38 | var fileName = "".concat(_upath.sep).concat(name).concat(jestTestFilesExt);
|
39 |
|
40 | if (jestTestResults && jestTestResults.testResults) {
|
41 | var fileNamePattern = new RegExp(fileName);
|
42 | return {
|
43 | fileName: fileName,
|
44 | name: name,
|
45 | result: jestTestResults.testResults.find(function (test) {
|
46 | return Boolean((0, _upath.normalize)(test.name).match(fileNamePattern));
|
47 | })
|
48 | };
|
49 | }
|
50 |
|
51 | return {
|
52 | fileName: fileName,
|
53 | name: name
|
54 | };
|
55 | });
|
56 | };
|
57 |
|
58 | var emitAddTests = function emitAddTests(_ref) {
|
59 | var kind = _ref.kind,
|
60 | story = _ref.story,
|
61 | testFiles = _ref.testFiles,
|
62 | options = _ref.options;
|
63 |
|
64 | _addons.addons.getChannel().emit(_shared.ADD_TESTS, {
|
65 | kind: kind,
|
66 | storyName: story,
|
67 | tests: findTestResults(testFiles, options.results, options.filesExt)
|
68 | });
|
69 | };
|
70 |
|
71 | var withTests = function withTests(userOptions) {
|
72 | var defaultOptions = {
|
73 | filesExt: '((\\.specs?)|(\\.tests?))?(\\.[jt]sx?)?$'
|
74 | };
|
75 | var options = Object.assign({}, defaultOptions, userOptions);
|
76 | return function () {
|
77 | for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
78 | args[_key] = arguments[_key];
|
79 | }
|
80 |
|
81 | var storyFn = args[0],
|
82 | _args$ = args[1],
|
83 | kind = _args$.kind,
|
84 | _args$$parameters = _args$.parameters,
|
85 | parameters = _args$$parameters === void 0 ? {} : _args$$parameters;
|
86 | var testFiles = (0, _shared.defineJestParameter)(parameters);
|
87 |
|
88 | if (testFiles !== null) {
|
89 | emitAddTests({
|
90 | kind: kind,
|
91 | story: storyFn,
|
92 | testFiles: testFiles,
|
93 | options: options
|
94 | });
|
95 | }
|
96 |
|
97 | return storyFn();
|
98 | };
|
99 | };
|
100 |
|
101 | exports.withTests = withTests;
|
102 |
|
103 | if (module && module.hot && module.hot.decline) {
|
104 | module.hot.decline();
|
105 | } |
\ | No newline at end of file |