UNPKG

2.69 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.withTests = void 0;
7
8require("core-js/modules/es.array.map.js");
9
10require("core-js/modules/es.object.values.js");
11
12require("core-js/modules/es.array.concat.js");
13
14require("core-js/modules/es.regexp.constructor.js");
15
16require("core-js/modules/es.regexp.exec.js");
17
18require("core-js/modules/es.regexp.to-string.js");
19
20require("core-js/modules/es.array.find.js");
21
22require("core-js/modules/es.object.to-string.js");
23
24require("core-js/modules/es.string.match.js");
25
26require("core-js/modules/es.function.name.js");
27
28require("core-js/modules/es.object.assign.js");
29
30var _addons = require("@storybook/addons");
31
32var _upath = require("upath");
33
34var _shared = require("./shared");
35
36var 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
58var 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
71var 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
101exports.withTests = withTests;
102
103if (module && module.hot && module.hot.decline) {
104 module.hot.decline();
105}
\No newline at end of file