@pingux/astro 2.68.0-alpha.1 → 2.68.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/CopyText/CopyText.test.js +5 -3
- package/lib/cjs/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +5 -8
- package/lib/cjs/components/Messages/Messages.test.js +4 -1
- package/lib/cjs/components/PageHeader/PageHeader.stories.js +27 -8
- package/lib/cjs/utils/designUtils/figmaLinks.d.ts +5 -0
- package/lib/cjs/utils/designUtils/figmaLinks.js +5 -0
- package/lib/cjs/utils/testUtils/universalComponentTest.js +2 -1
- package/lib/components/CopyText/CopyText.test.js +5 -3
- package/lib/components/EnvironmentBreadcrumb/EnvironmentBreadcrumb.test.js +5 -8
- package/lib/components/Messages/Messages.test.js +4 -1
- package/lib/components/PageHeader/PageHeader.stories.js +25 -6
- package/lib/utils/designUtils/figmaLinks.js +5 -0
- package/lib/utils/testUtils/universalComponentTest.js +2 -1
- package/package.json +1 -1
@@ -289,18 +289,20 @@ describe('CopyText', function () {
|
|
289
289
|
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
290
290
|
while (1) switch (_context12.prev = _context12.next) {
|
291
291
|
case 0:
|
292
|
+
jest.useRealTimers();
|
292
293
|
getComponent();
|
293
294
|
button = _testWrapper.screen.getByLabelText('copy to clipboard');
|
294
295
|
_testWrapper.fireEvent.click(button);
|
295
296
|
expect(_testWrapper.screen.queryByRole('tooltip')).toBeInTheDocument();
|
296
297
|
expect(_testWrapper.screen.queryByRole('tooltip')).toHaveTextContent('Copied!');
|
297
|
-
_context12.next =
|
298
|
+
_context12.next = 8;
|
298
299
|
return new _promise["default"](function (resolve) {
|
299
300
|
return (0, _setTimeout2["default"])(resolve, 1000);
|
300
301
|
});
|
301
|
-
case 7:
|
302
|
-
expect(_testWrapper.screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
|
303
302
|
case 8:
|
303
|
+
expect(_testWrapper.screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
|
304
|
+
jest.useFakeTimers();
|
305
|
+
case 10:
|
304
306
|
case "end":
|
305
307
|
return _context12.stop();
|
306
308
|
}
|
@@ -32,7 +32,6 @@ var _reactStately = require("react-stately");
|
|
32
32
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
33
33
|
var _ = require("../..");
|
34
34
|
var _testWrapper = require("../../utils/testUtils/testWrapper");
|
35
|
-
var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
|
36
35
|
var _EnvironmentBreadcrumb = require("./EnvironmentBreadcrumb");
|
37
36
|
var _react2 = require("@emotion/react");
|
38
37
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context6; _forEachInstanceProperty2(_context6 = ["next", "throw", "return"]).call(_context6, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty2(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context7; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty2(_context7 = this.tryEntries).call(_context7, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
@@ -126,12 +125,11 @@ var getSectionsComponent = function getSectionsComponent() {
|
|
126
125
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
127
126
|
return (0, _testWrapper.render)(renderSectionsComponent(props));
|
128
127
|
};
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
});
|
128
|
+
|
129
|
+
// This file does not call universalComponentTests directly. There is a separate file,
|
130
|
+
// ./EnvironmentalBreadcrumbUniversal.test.tsx, that calls it for both the EnvironmentBreadcrumb
|
131
|
+
// and the EnvironmentBreadcrumb with sections.
|
132
|
+
|
135
133
|
beforeAll(function () {
|
136
134
|
var callback = function callback(cb) {
|
137
135
|
return cb();
|
@@ -147,7 +145,6 @@ beforeAll(function () {
|
|
147
145
|
return 1024;
|
148
146
|
});
|
149
147
|
jest.spyOn(window, 'requestAnimationFrame').mockImplementation(callback);
|
150
|
-
jest.useFakeTimers();
|
151
148
|
});
|
152
149
|
afterEach(function () {
|
153
150
|
jest.clearAllMocks();
|
@@ -90,6 +90,7 @@ test('renders Messages component in the default state with dynamic list', functi
|
|
90
90
|
expect(messages).toBeInTheDocument();
|
91
91
|
});
|
92
92
|
test('click on close button fires `onClose` callback', function () {
|
93
|
+
jest.useRealTimers();
|
93
94
|
var onClose = jest.fn();
|
94
95
|
getComponent({
|
95
96
|
onClose: onClose
|
@@ -97,8 +98,10 @@ test('click on close button fires `onClose` callback', function () {
|
|
97
98
|
var buttons = _testWrapper.screen.getAllByRole('button');
|
98
99
|
_userEvent["default"].click(buttons[0]);
|
99
100
|
expect(onClose).toHaveBeenCalled();
|
101
|
+
jest.useFakeTimers();
|
100
102
|
});
|
101
103
|
test('`onClose` get as first arg key of message', function () {
|
104
|
+
jest.useRealTimers();
|
102
105
|
var onClose = jest.fn();
|
103
106
|
getComponent({
|
104
107
|
onClose: onClose
|
@@ -106,9 +109,9 @@ test('`onClose` get as first arg key of message', function () {
|
|
106
109
|
var buttons = _testWrapper.screen.getAllByRole('button');
|
107
110
|
_userEvent["default"].click(buttons[0]);
|
108
111
|
expect(onClose).toHaveBeenCalledWith('message1');
|
112
|
+
jest.useFakeTimers();
|
109
113
|
});
|
110
114
|
test('click on close button removes message after delay', function () {
|
111
|
-
jest.useFakeTimers();
|
112
115
|
getComponent();
|
113
116
|
var messages = _testWrapper.screen.getByTestId(testId);
|
114
117
|
expect(messages.childElementCount).toBe(2);
|
@@ -5,11 +5,12 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
5
5
|
_Object$defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
|
-
exports["default"] = exports.WithoutLink = exports.WithoutButton = exports.
|
8
|
+
exports["default"] = exports.WithoutLink = exports.WithoutButton = exports.Default = exports.Customization = void 0;
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
11
11
|
var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
|
12
12
|
var _index = require("../../index");
|
13
|
+
var _figmaLinks = require("../../utils/designUtils/figmaLinks");
|
13
14
|
var _PageHeader = _interopRequireDefault(require("./PageHeader.mdx"));
|
14
15
|
var _react2 = require("@emotion/react");
|
15
16
|
var _default = {
|
@@ -34,43 +35,61 @@ var _default = {
|
|
34
35
|
}
|
35
36
|
};
|
36
37
|
exports["default"] = _default;
|
37
|
-
var description = "
|
38
|
+
var description = "Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts \nand visual mockups.Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries\nfor previewing layouts and visual mockups. ";
|
38
39
|
var Default = function Default(args) {
|
39
40
|
return (0, _react2.jsx)(_index.PageHeader, (0, _extends2["default"])({
|
40
41
|
buttonProps: {
|
41
42
|
onPress: function onPress() {}
|
42
43
|
},
|
43
|
-
title: "
|
44
|
+
title: "Lorem ipsum"
|
44
45
|
}, args), description, (0, _react2.jsx)(_index.Link, {
|
45
46
|
href: "https://uilibrary.ping-eng.com/"
|
46
47
|
}, "Learn more"));
|
47
48
|
};
|
48
49
|
exports.Default = Default;
|
50
|
+
Default.parameters = {
|
51
|
+
design: {
|
52
|
+
type: 'figma',
|
53
|
+
url: _figmaLinks.FIGMA_LINKS.pageHeader["default"]
|
54
|
+
}
|
55
|
+
};
|
49
56
|
var WithoutButton = function WithoutButton() {
|
50
57
|
return (0, _react2.jsx)(_index.PageHeader, {
|
51
|
-
title: "
|
58
|
+
title: "Lorem ipsum"
|
52
59
|
}, description, (0, _react2.jsx)(_index.Link, {
|
53
60
|
href: "https://uilibrary.ping-eng.com/"
|
54
61
|
}, "Learn more"));
|
55
62
|
};
|
56
63
|
exports.WithoutButton = WithoutButton;
|
64
|
+
WithoutButton.parameters = {
|
65
|
+
design: {
|
66
|
+
type: 'figma',
|
67
|
+
url: _figmaLinks.FIGMA_LINKS.pageHeader.withoutButton
|
68
|
+
}
|
69
|
+
};
|
57
70
|
var WithoutLink = function WithoutLink() {
|
58
71
|
return (0, _react2.jsx)(_index.PageHeader, {
|
59
72
|
buttonProps: {
|
60
73
|
onPress: function onPress() {}
|
61
74
|
},
|
62
|
-
title: "
|
75
|
+
title: "Lorem ipsum"
|
63
76
|
}, description);
|
64
77
|
};
|
65
78
|
exports.WithoutLink = WithoutLink;
|
66
|
-
|
79
|
+
WithoutLink.parameters = {
|
80
|
+
design: {
|
81
|
+
type: 'figma',
|
82
|
+
url: _figmaLinks.FIGMA_LINKS.pageHeader.withoutLink
|
83
|
+
}
|
84
|
+
};
|
85
|
+
var Customization = function Customization() {
|
67
86
|
return (0, _react2.jsx)(_index.PageHeader, {
|
68
87
|
buttonProps: {
|
69
88
|
bg: 'critical.bright'
|
70
89
|
},
|
71
|
-
title: "
|
90
|
+
title: "Lorem ipsum"
|
72
91
|
}, description, (0, _react2.jsx)(_index.Link, {
|
73
92
|
href: "https://uilibrary.ping-eng.com/"
|
74
93
|
}, "Learn more"));
|
75
94
|
};
|
76
|
-
exports.
|
95
|
+
exports.Customization = Customization;
|
@@ -172,6 +172,11 @@ var FIGMA_LINKS = {
|
|
172
172
|
},
|
173
173
|
noAccess: {
|
174
174
|
"default": 'https://www.figma.com/file/S1tRCG90PVgCJRCyDwxkBk/429-Error?type=design&node-id=9-940&mode=design&t=Z6pZWCsrvY0g6b2q-0'
|
175
|
+
},
|
176
|
+
pageHeader: {
|
177
|
+
"default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-11051&t=OK8Fy4P3se6BKy0F-4',
|
178
|
+
withoutButton: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16196&t=OK8Fy4P3se6BKy0F-4',
|
179
|
+
withoutLink: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16201&t=OK8Fy4P3se6BKy0F-4'
|
175
180
|
}
|
176
181
|
};
|
177
182
|
exports.FIGMA_LINKS = FIGMA_LINKS;
|
@@ -284,18 +284,20 @@ describe('CopyText', function () {
|
|
284
284
|
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
285
285
|
while (1) switch (_context12.prev = _context12.next) {
|
286
286
|
case 0:
|
287
|
+
jest.useRealTimers();
|
287
288
|
getComponent();
|
288
289
|
button = screen.getByLabelText('copy to clipboard');
|
289
290
|
fireEvent.click(button);
|
290
291
|
expect(screen.queryByRole('tooltip')).toBeInTheDocument();
|
291
292
|
expect(screen.queryByRole('tooltip')).toHaveTextContent('Copied!');
|
292
|
-
_context12.next =
|
293
|
+
_context12.next = 8;
|
293
294
|
return new _Promise(function (resolve) {
|
294
295
|
return _setTimeout(resolve, 1000);
|
295
296
|
});
|
296
|
-
case 7:
|
297
|
-
expect(screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
|
298
297
|
case 8:
|
298
|
+
expect(screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
|
299
|
+
jest.useFakeTimers();
|
300
|
+
case 10:
|
299
301
|
case "end":
|
300
302
|
return _context12.stop();
|
301
303
|
}
|
@@ -27,7 +27,6 @@ import { Section } from 'react-stately';
|
|
27
27
|
import userEvent from '@testing-library/user-event';
|
28
28
|
import { EnvironmentBreadcrumb, Item, OverlayProvider } from '../..';
|
29
29
|
import { render, screen, within } from '../../utils/testUtils/testWrapper';
|
30
|
-
import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
|
31
30
|
import { breadCrumbDataIds } from './EnvironmentBreadcrumb';
|
32
31
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
33
32
|
var testEnvBreadcrumb = 'test-env-breadcrumb';
|
@@ -116,12 +115,11 @@ var getSectionsComponent = function getSectionsComponent() {
|
|
116
115
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
117
116
|
return render(renderSectionsComponent(props));
|
118
117
|
};
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
});
|
118
|
+
|
119
|
+
// This file does not call universalComponentTests directly. There is a separate file,
|
120
|
+
// ./EnvironmentalBreadcrumbUniversal.test.tsx, that calls it for both the EnvironmentBreadcrumb
|
121
|
+
// and the EnvironmentBreadcrumb with sections.
|
122
|
+
|
125
123
|
beforeAll(function () {
|
126
124
|
var callback = function callback(cb) {
|
127
125
|
return cb();
|
@@ -137,7 +135,6 @@ beforeAll(function () {
|
|
137
135
|
return 1024;
|
138
136
|
});
|
139
137
|
jest.spyOn(window, 'requestAnimationFrame').mockImplementation(callback);
|
140
|
-
jest.useFakeTimers();
|
141
138
|
});
|
142
139
|
afterEach(function () {
|
143
140
|
jest.clearAllMocks();
|
@@ -81,6 +81,7 @@ test('renders Messages component in the default state with dynamic list', functi
|
|
81
81
|
expect(messages).toBeInTheDocument();
|
82
82
|
});
|
83
83
|
test('click on close button fires `onClose` callback', function () {
|
84
|
+
jest.useRealTimers();
|
84
85
|
var onClose = jest.fn();
|
85
86
|
getComponent({
|
86
87
|
onClose: onClose
|
@@ -88,8 +89,10 @@ test('click on close button fires `onClose` callback', function () {
|
|
88
89
|
var buttons = screen.getAllByRole('button');
|
89
90
|
userEvent.click(buttons[0]);
|
90
91
|
expect(onClose).toHaveBeenCalled();
|
92
|
+
jest.useFakeTimers();
|
91
93
|
});
|
92
94
|
test('`onClose` get as first arg key of message', function () {
|
95
|
+
jest.useRealTimers();
|
93
96
|
var onClose = jest.fn();
|
94
97
|
getComponent({
|
95
98
|
onClose: onClose
|
@@ -97,9 +100,9 @@ test('`onClose` get as first arg key of message', function () {
|
|
97
100
|
var buttons = screen.getAllByRole('button');
|
98
101
|
userEvent.click(buttons[0]);
|
99
102
|
expect(onClose).toHaveBeenCalledWith('message1');
|
103
|
+
jest.useFakeTimers();
|
100
104
|
});
|
101
105
|
test('click on close button removes message after delay', function () {
|
102
|
-
jest.useFakeTimers();
|
103
106
|
getComponent();
|
104
107
|
var messages = screen.getByTestId(testId);
|
105
108
|
expect(messages.childElementCount).toBe(2);
|
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
|
|
2
2
|
import React from 'react';
|
3
3
|
import DocsLayout from '../../../.storybook/storybookDocsLayout';
|
4
4
|
import { Link, PageHeader } from '../../index';
|
5
|
+
import { FIGMA_LINKS } from '../../utils/designUtils/figmaLinks';
|
5
6
|
import PageHeaderReadMe from './PageHeader.mdx';
|
6
7
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
7
8
|
export default {
|
@@ -25,38 +26,56 @@ export default {
|
|
25
26
|
}
|
26
27
|
}
|
27
28
|
};
|
28
|
-
var description = "
|
29
|
+
var description = "Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts \nand visual mockups.Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries\nfor previewing layouts and visual mockups. ";
|
29
30
|
export var Default = function Default(args) {
|
30
31
|
return ___EmotionJSX(PageHeader, _extends({
|
31
32
|
buttonProps: {
|
32
33
|
onPress: function onPress() {}
|
33
34
|
},
|
34
|
-
title: "
|
35
|
+
title: "Lorem ipsum"
|
35
36
|
}, args), description, ___EmotionJSX(Link, {
|
36
37
|
href: "https://uilibrary.ping-eng.com/"
|
37
38
|
}, "Learn more"));
|
38
39
|
};
|
40
|
+
Default.parameters = {
|
41
|
+
design: {
|
42
|
+
type: 'figma',
|
43
|
+
url: FIGMA_LINKS.pageHeader["default"]
|
44
|
+
}
|
45
|
+
};
|
39
46
|
export var WithoutButton = function WithoutButton() {
|
40
47
|
return ___EmotionJSX(PageHeader, {
|
41
|
-
title: "
|
48
|
+
title: "Lorem ipsum"
|
42
49
|
}, description, ___EmotionJSX(Link, {
|
43
50
|
href: "https://uilibrary.ping-eng.com/"
|
44
51
|
}, "Learn more"));
|
45
52
|
};
|
53
|
+
WithoutButton.parameters = {
|
54
|
+
design: {
|
55
|
+
type: 'figma',
|
56
|
+
url: FIGMA_LINKS.pageHeader.withoutButton
|
57
|
+
}
|
58
|
+
};
|
46
59
|
export var WithoutLink = function WithoutLink() {
|
47
60
|
return ___EmotionJSX(PageHeader, {
|
48
61
|
buttonProps: {
|
49
62
|
onPress: function onPress() {}
|
50
63
|
},
|
51
|
-
title: "
|
64
|
+
title: "Lorem ipsum"
|
52
65
|
}, description);
|
53
66
|
};
|
54
|
-
|
67
|
+
WithoutLink.parameters = {
|
68
|
+
design: {
|
69
|
+
type: 'figma',
|
70
|
+
url: FIGMA_LINKS.pageHeader.withoutLink
|
71
|
+
}
|
72
|
+
};
|
73
|
+
export var Customization = function Customization() {
|
55
74
|
return ___EmotionJSX(PageHeader, {
|
56
75
|
buttonProps: {
|
57
76
|
bg: 'critical.bright'
|
58
77
|
},
|
59
|
-
title: "
|
78
|
+
title: "Lorem ipsum"
|
60
79
|
}, description, ___EmotionJSX(Link, {
|
61
80
|
href: "https://uilibrary.ping-eng.com/"
|
62
81
|
}, "Learn more"));
|
@@ -165,5 +165,10 @@ export var FIGMA_LINKS = {
|
|
165
165
|
},
|
166
166
|
noAccess: {
|
167
167
|
"default": 'https://www.figma.com/file/S1tRCG90PVgCJRCyDwxkBk/429-Error?type=design&node-id=9-940&mode=design&t=Z6pZWCsrvY0g6b2q-0'
|
168
|
+
},
|
169
|
+
pageHeader: {
|
170
|
+
"default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-11051&t=OK8Fy4P3se6BKy0F-4',
|
171
|
+
withoutButton: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16196&t=OK8Fy4P3se6BKy0F-4',
|
172
|
+
withoutLink: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16201&t=OK8Fy4P3se6BKy0F-4'
|
168
173
|
}
|
169
174
|
};
|