@atlaskit/media-test-helpers 29.0.1 → 29.1.0
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/CHANGELOG.md +15 -0
- package/dist/cjs/MockGlobalImage.js +3 -1
- package/dist/cjs/clipboardEventMocks.js +1 -1
- package/dist/cjs/example-mediaFeatureFlags.js +2 -2
- package/dist/cjs/featureFlagsWrapper/dropdown.js +5 -5
- package/dist/cjs/featureFlagsWrapper/helpers.js +2 -2
- package/dist/cjs/fileReader.js +5 -4
- package/dist/cjs/fileStateFactory/createFileState.js +93 -0
- package/dist/cjs/fileStateFactory/factory.js +174 -0
- package/dist/cjs/fileStateFactory/helpers.js +110 -0
- package/dist/cjs/fileStateFactory/index.js +41 -0
- package/dist/cjs/index.js +39 -1
- package/dist/cjs/keyboardEventWithKeyCode.js +5 -3
- package/dist/cjs/mediaClientErrors.js +10 -4
- package/dist/cjs/mediaPickerMocks.js +2 -2
- package/dist/cjs/mockData/index.js +4 -3
- package/dist/cjs/mockLoadImage.js +2 -2
- package/dist/cjs/mocks/fileAndDirectoriesUtils.js +2 -2
- package/dist/cjs/mocks/routers/api-router.js +2 -2
- package/dist/cjs/mocks/websockets/remote-upload-server.js +4 -2
- package/dist/cjs/mountWithIntlContext.js +7 -4
- package/dist/cjs/renderWithIntl.js +22 -0
- package/dist/cjs/smart-card-state.js +108 -0
- package/dist/cjs/story-styles.js +2 -2
- package/dist/cjs/styled.js +2 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/featureFlagsWrapper/dropdown.js +2 -2
- package/dist/es2019/fileStateFactory/createFileState.js +78 -0
- package/dist/es2019/fileStateFactory/factory.js +87 -0
- package/dist/es2019/fileStateFactory/helpers.js +86 -0
- package/dist/es2019/fileStateFactory/index.js +3 -0
- package/dist/es2019/index.js +3 -2
- package/dist/es2019/mediaClientErrors.js +3 -2
- package/dist/es2019/renderWithIntl.js +8 -0
- package/dist/es2019/smart-card-state.js +100 -0
- package/dist/es2019/story-styles.js +1 -1
- package/dist/es2019/styled.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/MockGlobalImage.js +2 -1
- package/dist/esm/clipboardEventMocks.js +1 -1
- package/dist/esm/example-mediaFeatureFlags.js +2 -2
- package/dist/esm/featureFlagsWrapper/dropdown.js +2 -2
- package/dist/esm/featureFlagsWrapper/helpers.js +2 -2
- package/dist/esm/fileReader.js +4 -3
- package/dist/esm/fileStateFactory/createFileState.js +80 -0
- package/dist/esm/fileStateFactory/factory.js +161 -0
- package/dist/esm/fileStateFactory/helpers.js +96 -0
- package/dist/esm/fileStateFactory/index.js +3 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/keyboardEventWithKeyCode.js +4 -3
- package/dist/esm/mediaClientErrors.js +6 -3
- package/dist/esm/mediaPickerMocks.js +2 -2
- package/dist/esm/mockData/index.js +3 -2
- package/dist/esm/mockLoadImage.js +2 -2
- package/dist/esm/mocks/fileAndDirectoriesUtils.js +2 -2
- package/dist/esm/mocks/routers/api-router.js +2 -2
- package/dist/esm/mocks/websockets/remote-upload-server.js +4 -2
- package/dist/esm/mountWithIntlContext.js +6 -4
- package/dist/esm/renderWithIntl.js +8 -0
- package/dist/esm/smart-card-state.js +100 -0
- package/dist/esm/story-styles.js +1 -1
- package/dist/esm/styled.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/featureFlagsWrapper/helpers.d.ts +1 -1
- package/dist/types/fileStateFactory/createFileState.d.ts +10 -0
- package/dist/types/fileStateFactory/factory.d.ts +42 -0
- package/dist/types/fileStateFactory/helpers.d.ts +7 -0
- package/dist/types/fileStateFactory/index.d.ts +4 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/mediaClientErrors.d.ts +2 -1
- package/dist/types/renderWithIntl.d.ts +3 -0
- package/dist/types/smart-card-state.d.ts +2 -0
- package/dist/types/story-styles.d.ts +2 -2
- package/dist/types/styled.d.ts +1 -1
- package/package.json +9 -7
- package/renderWithIntl/package.json +7 -0
- package/smart-card-state/package.json +7 -0
|
@@ -5,15 +5,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.createRateLimitedError = exports.createPollingMaxAttemptsError = void 0;
|
|
8
|
+
exports.createRateLimitedError = exports.createPollingMaxAttemptsError = exports.createMediaStoreError = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
12
|
var _mediaClient = require("@atlaskit/media-client");
|
|
13
13
|
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
15
|
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
17
|
|
|
18
18
|
var createRateLimitedError = function createRateLimitedError() {
|
|
19
19
|
var metadata = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -29,4 +29,10 @@ var createPollingMaxAttemptsError = function createPollingMaxAttemptsError() {
|
|
|
29
29
|
return new _mediaClient.PollingError('pollingMaxAttemptsExceeded', attempts);
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
exports.createPollingMaxAttemptsError = createPollingMaxAttemptsError;
|
|
32
|
+
exports.createPollingMaxAttemptsError = createPollingMaxAttemptsError;
|
|
33
|
+
|
|
34
|
+
var createMediaStoreError = function createMediaStoreError() {
|
|
35
|
+
return new _mediaClient.MediaStoreError('missingInitialAuth');
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.createMediaStoreError = createMediaStoreError;
|
|
@@ -12,9 +12,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
12
12
|
|
|
13
13
|
var _fakeMediaClient = require("./fakeMediaClient");
|
|
14
14
|
|
|
15
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
16
|
|
|
17
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
18
|
|
|
19
19
|
var mockState = {
|
|
20
20
|
redirectUrl: 'some-redirect-url',
|
|
@@ -73,6 +73,8 @@ Object.defineProperty(exports, "userCollectionFetch", {
|
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
|
|
76
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
77
|
+
|
|
76
78
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
77
79
|
|
|
78
80
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -85,7 +87,7 @@ var _utils = require("./utils");
|
|
|
85
87
|
|
|
86
88
|
var _handlers = require("./handlers");
|
|
87
89
|
|
|
88
|
-
var MockContext = function MockContext() {
|
|
90
|
+
var MockContext = /*#__PURE__*/(0, _createClass2.default)(function MockContext() {
|
|
89
91
|
(0, _classCallCheck2.default)(this, MockContext);
|
|
90
92
|
(0, _defineProperty2.default)(this, "userContext", {
|
|
91
93
|
auth: {
|
|
@@ -105,6 +107,5 @@ var MockContext = function MockContext() {
|
|
|
105
107
|
collection: [],
|
|
106
108
|
collectionName: 'MediaServicesSample'
|
|
107
109
|
});
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
+
});
|
|
110
111
|
exports.MockContext = MockContext;
|
|
@@ -9,9 +9,9 @@ exports.unMockLoadImage = exports.mockLoadImageError = exports.mockLoadImage = e
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
|
|
16
16
|
var getOrientationMock;
|
|
17
17
|
var loadImageMock; // so that jest doesn't hoist mock of media-ui and replaces actual module on every import of media-test-helpers
|
|
@@ -9,9 +9,9 @@ exports.createFileSystemFileEntry = exports.createFileSystemDirectoryEntry = exp
|
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Some utilities and types around this API -
|
|
@@ -47,9 +47,9 @@ var _mockData = require("../../utils/mockData");
|
|
|
47
47
|
|
|
48
48
|
var _utils = require("../../utils");
|
|
49
49
|
|
|
50
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
50
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
51
51
|
|
|
52
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
52
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
53
53
|
|
|
54
54
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
55
55
|
|
|
@@ -51,6 +51,8 @@ var _logging = require("../../utils/logging");
|
|
|
51
51
|
|
|
52
52
|
var _mockData = require("../../utils/mockData");
|
|
53
53
|
|
|
54
|
+
var _excluded = ["type"],
|
|
55
|
+
_excluded2 = ["type"];
|
|
54
56
|
var DELAY_MESSAGS_MS = 200;
|
|
55
57
|
var DELAY_MESSAGES_SLOW_MS = 1000;
|
|
56
58
|
var DELAY_MESSAGES_VARIATION = 500;
|
|
@@ -101,7 +103,7 @@ function createUserFile(database, fileId, name, collection) {
|
|
|
101
103
|
|
|
102
104
|
function sendDownstreamMessage(wsUrl, socket, database, message) {
|
|
103
105
|
var type = message.type,
|
|
104
|
-
payload = (0, _objectWithoutProperties2.default)(message,
|
|
106
|
+
payload = (0, _objectWithoutProperties2.default)(message, _excluded); // logs every message in console
|
|
105
107
|
|
|
106
108
|
(0, _logging.logWsMessage)({
|
|
107
109
|
url: wsUrl,
|
|
@@ -163,7 +165,7 @@ var RemoteUploadActivityServer = /*#__PURE__*/function () {
|
|
|
163
165
|
this.msgSubscription = getUpstreamMessages(this.wsServer).pipe((0, _tap.tap)(function (_ref3) {
|
|
164
166
|
var _ref3$message = _ref3.message,
|
|
165
167
|
type = _ref3$message.type,
|
|
166
|
-
payload = (0, _objectWithoutProperties2.default)(_ref3$message,
|
|
168
|
+
payload = (0, _objectWithoutProperties2.default)(_ref3$message, _excluded2);
|
|
167
169
|
return (0, _logging.logWsMessage)({
|
|
168
170
|
url: wsUrl,
|
|
169
171
|
dir: _logging.WsDirection.Upstream,
|
|
@@ -17,9 +17,12 @@ var _reactIntlNext = require("react-intl-next");
|
|
|
17
17
|
|
|
18
18
|
var _enzyme = require("enzyme");
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
var _excluded = ["context", "childContextTypes"],
|
|
21
|
+
_excluded2 = ["context"];
|
|
21
22
|
|
|
22
|
-
function
|
|
23
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
|
+
|
|
25
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
26
|
|
|
24
27
|
var mockIntl = (0, _reactIntlNext.createIntl)({
|
|
25
28
|
locale: 'en'
|
|
@@ -50,7 +53,7 @@ var mountWithIntlContext = function mountWithIntlContext(node) {
|
|
|
50
53
|
context = _ref$context === void 0 ? {} : _ref$context,
|
|
51
54
|
_ref$childContextType = _ref.childContextTypes,
|
|
52
55
|
childContextTypes = _ref$childContextType === void 0 ? {} : _ref$childContextType,
|
|
53
|
-
additionalOptions = (0, _objectWithoutProperties2.default)(_ref,
|
|
56
|
+
additionalOptions = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
54
57
|
var intl = !!node.props.intl ? node.props.intl : mockIntl;
|
|
55
58
|
return (0, _enzyme.mount)(nodeWithIntlProp(node), _objectSpread({
|
|
56
59
|
context: _objectSpread({
|
|
@@ -66,7 +69,7 @@ var shallowWithIntlContext = function shallowWithIntlContext(node) {
|
|
|
66
69
|
|
|
67
70
|
var _ref2$context = _ref2.context,
|
|
68
71
|
context = _ref2$context === void 0 ? {} : _ref2$context,
|
|
69
|
-
additionalOptions = (0, _objectWithoutProperties2.default)(_ref2,
|
|
72
|
+
additionalOptions = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
|
|
70
73
|
var intl = !!node.props.intl ? node.props.intl : mockIntl;
|
|
71
74
|
return (0, _enzyme.shallow)(nodeWithIntlProp(node), _objectSpread({
|
|
72
75
|
context: _objectSpread({
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.renderWithIntl = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _reactIntlNext = require("react-intl-next");
|
|
13
|
+
|
|
14
|
+
var _react2 = require("@testing-library/react");
|
|
15
|
+
|
|
16
|
+
var renderWithIntl = function renderWithIntl(component) {
|
|
17
|
+
return (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
|
|
18
|
+
locale: "en"
|
|
19
|
+
}, component));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.renderWithIntl = renderWithIntl;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.url = exports.cardState = void 0;
|
|
7
|
+
var url = 'https://bitbucket.org/atlassian/incredible-monorepo/pull-requests/42';
|
|
8
|
+
exports.url = url;
|
|
9
|
+
var cardState = {
|
|
10
|
+
status: 'resolved',
|
|
11
|
+
lastUpdatedAt: 1624877833614,
|
|
12
|
+
details: {
|
|
13
|
+
meta: {
|
|
14
|
+
access: 'granted',
|
|
15
|
+
visibility: 'restricted',
|
|
16
|
+
auth: [{
|
|
17
|
+
key: 'bitbucket',
|
|
18
|
+
displayName: 'Atlassian Links - Bitbucket',
|
|
19
|
+
url: 'https://id.stg.internal.atlassian.com/outboundAuth/start?containerId=4d6a1ee9-20b3-492f-a0b6-3bab6c763a8e_3f823978-fbc9-4baa-95e2-1b4c89a73027&serviceKey=bitbucket'
|
|
20
|
+
}],
|
|
21
|
+
definitionId: 'a2d59c5a-952f-4996-8cf6-1d0ad318731a',
|
|
22
|
+
key: 'bitbucket-object-provider',
|
|
23
|
+
resourceType: 'pull',
|
|
24
|
+
version: '2.0.2'
|
|
25
|
+
},
|
|
26
|
+
data: {
|
|
27
|
+
'@id': url,
|
|
28
|
+
'@context': {
|
|
29
|
+
'@vocab': 'https://www.w3.org/ns/activitystreams#',
|
|
30
|
+
atlassian: 'https://schema.atlassian.com/ns/vocabulary#',
|
|
31
|
+
schema: 'http://schema.org/'
|
|
32
|
+
},
|
|
33
|
+
'@type': ['Object', 'atlassian:SourceCodePullRequest'],
|
|
34
|
+
url: url,
|
|
35
|
+
attributedTo: {
|
|
36
|
+
'@type': 'Person',
|
|
37
|
+
name: 'Matt Turner',
|
|
38
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/MT-4.png'
|
|
39
|
+
},
|
|
40
|
+
'schema:dateCreated': '2019-12-12T03:20:14.858Z',
|
|
41
|
+
generator: {
|
|
42
|
+
'@type': 'Application',
|
|
43
|
+
name: 'Bitbucket',
|
|
44
|
+
icon: {
|
|
45
|
+
'@type': 'Image',
|
|
46
|
+
url: 'https://wac-cdn.atlassian.com/assets/img/favicons/bitbucket/favicon-32x32.png'
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
icon: {
|
|
50
|
+
'@type': 'Image',
|
|
51
|
+
url: 'https://wac-cdn.atlassian.com/assets/img/favicons/bitbucket/favicon-32x32.png'
|
|
52
|
+
},
|
|
53
|
+
name: 'Normalise package config',
|
|
54
|
+
summary: '',
|
|
55
|
+
'atlassian:mergeSource': {
|
|
56
|
+
'@type': 'Link',
|
|
57
|
+
href: 'https://bitbucket.org/atlassian/incredible-monorepo/branch/normalise-package-config'
|
|
58
|
+
},
|
|
59
|
+
'atlassian:mergeDestination': {
|
|
60
|
+
'@type': 'Link',
|
|
61
|
+
href: 'https://bitbucket.org/atlassian/incredible-monorepo/branch/master'
|
|
62
|
+
},
|
|
63
|
+
updated: '2019-12-12T03:40:43.420Z',
|
|
64
|
+
'atlassian:mergeCommit': {
|
|
65
|
+
'@type': 'Link',
|
|
66
|
+
href: 'https://bitbucket.org/atlassian/incredible-monorepo/commits/56139bbc3793'
|
|
67
|
+
},
|
|
68
|
+
'atlassian:internalId': '42',
|
|
69
|
+
'atlassian:isMerged': true,
|
|
70
|
+
'atlassian:state': 'MERGED',
|
|
71
|
+
'atlassian:mergedBy': {
|
|
72
|
+
'@type': 'Person',
|
|
73
|
+
name: 'Matt Turner',
|
|
74
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/MT-4.png'
|
|
75
|
+
},
|
|
76
|
+
'atlassian:reviewer': [{
|
|
77
|
+
'@type': 'Person',
|
|
78
|
+
name: 'ᴄᴏsᴍᴏ',
|
|
79
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/default-avatar-1.png'
|
|
80
|
+
}],
|
|
81
|
+
'atlassian:reviewedBy': [{
|
|
82
|
+
'@type': 'Person',
|
|
83
|
+
name: 'ᴄᴏsᴍᴏ',
|
|
84
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/default-avatar-1.png'
|
|
85
|
+
}],
|
|
86
|
+
'atlassian:updatedBy': {
|
|
87
|
+
'@type': 'Person',
|
|
88
|
+
name: 'Matt Turner',
|
|
89
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/MT-4.png'
|
|
90
|
+
},
|
|
91
|
+
audience: [{
|
|
92
|
+
'@type': 'Person',
|
|
93
|
+
name: 'Matt Turner',
|
|
94
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/initials/MT-4.png'
|
|
95
|
+
}, {
|
|
96
|
+
'@type': 'Person',
|
|
97
|
+
name: 'ᴄᴏsᴍᴏ',
|
|
98
|
+
image: 'https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/default-avatar-1.png'
|
|
99
|
+
}],
|
|
100
|
+
context: {
|
|
101
|
+
'@type': 'atlassian:SourceCodeRepository',
|
|
102
|
+
name: 'incredible-monorepo',
|
|
103
|
+
url: 'https://bitbucket.org/atlassian/incredible-monorepo'
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
exports.cardState = cardState;
|
package/dist/cjs/story-styles.js
CHANGED
|
@@ -9,10 +9,10 @@ exports.Matrix = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
13
|
|
|
14
14
|
var _templateObject;
|
|
15
15
|
|
|
16
|
-
var Matrix =
|
|
16
|
+
var Matrix = _styled.default.table(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n thead {\n td {\n text-align: center;\n font-weight: bold;\n font-size: 20px;\n }\n }\n\n tbody {\n td {\n padding: 25px 10px;\n }\n }\n\n td {\n margin: auto;\n text-align: center;\n vertical-align: middle;\n\n &:first-child {\n font-weight: bold;\n font-size: 20px;\n }\n\n > div {\n display: flex;\n justify-content: center;\n text-align: left;\n }\n }\n"])));
|
|
17
17
|
|
|
18
18
|
exports.Matrix = Matrix;
|
package/dist/cjs/styled.js
CHANGED
|
@@ -9,10 +9,10 @@ exports.LocaleSelectorWrapper = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
13
13
|
|
|
14
14
|
var _templateObject;
|
|
15
15
|
|
|
16
|
-
var LocaleSelectorWrapper =
|
|
16
|
+
var LocaleSelectorWrapper = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: fixed;\n right: 20px;\n top: 20px;\n width: 200px;\n border: 1px solid #ccc;\n padding: 10px;\n border-radius: 3px;\n background-color: white;\n\n h2 {\n margin-bottom: 10px;\n }\n"])));
|
|
17
17
|
|
|
18
18
|
exports.LocaleSelectorWrapper = LocaleSelectorWrapper;
|
package/dist/cjs/version.json
CHANGED
|
@@ -4,9 +4,9 @@ import Textfield from '@atlaskit/textfield';
|
|
|
4
4
|
import { getMediaFeatureFlags, clearAllLocalFeatureFlags, setLocalFeatureFlag } from './helpers';
|
|
5
5
|
import SelectClearIcon from '@atlaskit/icon/glyph/select-clear';
|
|
6
6
|
import HipchatChevronDownIcon from '@atlaskit/icon/glyph/hipchat/chevron-down';
|
|
7
|
-
import Button from '@atlaskit/button';
|
|
7
|
+
import Button from '@atlaskit/button/standard-button';
|
|
8
8
|
import Tooltip from '@atlaskit/tooltip';
|
|
9
|
-
import styled from 'styled
|
|
9
|
+
import styled from '@emotion/styled';
|
|
10
10
|
import Popup from '@atlaskit/popup';
|
|
11
11
|
import { Checkbox } from '@atlaskit/checkbox';
|
|
12
12
|
import debounce from 'lodash/debounce';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { tallImage } from '../';
|
|
2
|
+
const localPreview = {
|
|
3
|
+
value: tallImage
|
|
4
|
+
};
|
|
5
|
+
const brokenLocalPreview = {
|
|
6
|
+
value: 'broken-data-uri'
|
|
7
|
+
};
|
|
8
|
+
const remotePreview = {
|
|
9
|
+
image: {}
|
|
10
|
+
};
|
|
11
|
+
export const createFileState = (id, status, {
|
|
12
|
+
withRemotePreview,
|
|
13
|
+
withLocalPreview,
|
|
14
|
+
withBrokenLocalPreview,
|
|
15
|
+
uploadProgress,
|
|
16
|
+
fileDetails
|
|
17
|
+
} = {}) => {
|
|
18
|
+
const extendState = {};
|
|
19
|
+
|
|
20
|
+
if (uploadProgress) {
|
|
21
|
+
extendState.progress = uploadProgress;
|
|
22
|
+
} // REMOTE PREVIEW
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
if (withRemotePreview) {
|
|
26
|
+
extendState.representations = remotePreview;
|
|
27
|
+
} else if (withRemotePreview === false) {
|
|
28
|
+
extendState.representations = {};
|
|
29
|
+
} // LOCAL PREVIEW
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
if (withLocalPreview) {
|
|
33
|
+
extendState.preview = localPreview;
|
|
34
|
+
} else if (withBrokenLocalPreview) {
|
|
35
|
+
extendState.preview = brokenLocalPreview;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const base = { ...fileDetails,
|
|
39
|
+
...extendState,
|
|
40
|
+
id
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
switch (status) {
|
|
44
|
+
case 'uploading':
|
|
45
|
+
return {
|
|
46
|
+
status: 'uploading',
|
|
47
|
+
progress: 0,
|
|
48
|
+
...base
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
case 'processing':
|
|
52
|
+
return {
|
|
53
|
+
status: 'processing',
|
|
54
|
+
...base
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
case 'processed':
|
|
58
|
+
return {
|
|
59
|
+
status: 'processed',
|
|
60
|
+
representations: remotePreview,
|
|
61
|
+
artifacts: {},
|
|
62
|
+
...base
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
case 'failed-processing':
|
|
66
|
+
return {
|
|
67
|
+
status: 'failed-processing',
|
|
68
|
+
...base
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
case 'error':
|
|
72
|
+
default:
|
|
73
|
+
return {
|
|
74
|
+
id,
|
|
75
|
+
status: 'error'
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { tallImage, dataURItoBlob } from '..';
|
|
3
|
+
import { MediaClient, createFileStateSubject } from '@atlaskit/media-client';
|
|
4
|
+
import { createFileState } from './createFileState';
|
|
5
|
+
import { createFileDetails } from './helpers';
|
|
6
|
+
import { sleep } from '../nextTick';
|
|
7
|
+
export class MediaClientMock extends MediaClient {
|
|
8
|
+
constructor(observable, mediaClientConfig, featureFlags, options = {}) {
|
|
9
|
+
super(mediaClientConfig, featureFlags);
|
|
10
|
+
|
|
11
|
+
_defineProperty(this, "updateObserbable", newObservable => {
|
|
12
|
+
this.observable = newObservable;
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
_defineProperty(this, "getImage", async () => {
|
|
16
|
+
const {
|
|
17
|
+
getImageDelay = 0
|
|
18
|
+
} = this.options;
|
|
19
|
+
await sleep(getImageDelay);
|
|
20
|
+
return dataURItoBlob(tallImage);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
_defineProperty(this, "mockFileFetcher", () => {
|
|
24
|
+
this.file.getFileState = () => this.observable;
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
this.observable = observable;
|
|
28
|
+
this.options = options;
|
|
29
|
+
this.mockFileFetcher();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
}
|
|
33
|
+
const mockConfig = {
|
|
34
|
+
authProvider: async () => ({
|
|
35
|
+
clientId: 'some-client',
|
|
36
|
+
token: 'some-token',
|
|
37
|
+
baseUrl: 'some-url'
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A fake Media Client that provides a backdoor to inject
|
|
43
|
+
* simulated file states. With this class, we can test several scenarios
|
|
44
|
+
* without having to recreate them all in the backend.
|
|
45
|
+
*/
|
|
46
|
+
export class FileStateFactory {
|
|
47
|
+
constructor(identifier, {
|
|
48
|
+
fileDetails: _fileDetails,
|
|
49
|
+
mediaClientConfig = mockConfig,
|
|
50
|
+
featureFlags,
|
|
51
|
+
mediaClientMockOptions
|
|
52
|
+
} = {}) {
|
|
53
|
+
_defineProperty(this, "updateIdentifier", (identifier, fileDetails) => {
|
|
54
|
+
this.identifier = identifier;
|
|
55
|
+
this.fileDetails = fileDetails || createFileDetails(this.identifier.id);
|
|
56
|
+
this.observable = createFileStateSubject();
|
|
57
|
+
this.mediaClient.updateObserbable(this.observable);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
_defineProperty(this, "subscription", {
|
|
61
|
+
next: fileState => {
|
|
62
|
+
this.observable.next(fileState);
|
|
63
|
+
},
|
|
64
|
+
error: error => {
|
|
65
|
+
this.observable.error(error);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
_defineProperty(this, "createFileState", (status, options) => createFileState(this.identifier.id, status, { ...options,
|
|
70
|
+
fileDetails: (options === null || options === void 0 ? void 0 : options.fileDetails) || this.fileDetails
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
_defineProperty(this, "next", (status, options) => {
|
|
74
|
+
this.subscription.next(this.createFileState(status, options));
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
_defineProperty(this, "error", error => {
|
|
78
|
+
this.subscription.error(error);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
this.identifier = identifier;
|
|
82
|
+
this.fileDetails = _fileDetails || createFileDetails(this.identifier.id);
|
|
83
|
+
this.observable = createFileStateSubject();
|
|
84
|
+
this.mediaClient = new MediaClientMock(this.observable, mediaClientConfig, featureFlags, mediaClientMockOptions);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
export const defaultFileDetails = {
|
|
3
|
+
createdAt: 1630986510989,
|
|
4
|
+
mediaType: 'image',
|
|
5
|
+
mimeType: 'image/png',
|
|
6
|
+
name: 'file-name.png',
|
|
7
|
+
size: 1
|
|
8
|
+
}; // min inclusive / max exclusive
|
|
9
|
+
|
|
10
|
+
function random(min = 0, max = 10000) {
|
|
11
|
+
min = Math.ceil(min);
|
|
12
|
+
max = Math.floor(max) - 1;
|
|
13
|
+
const result = Math.floor(Math.random() * (max - min + 1)) + min;
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const getRandomElem = arr => arr[Math.floor(Math.random() * arr.length)];
|
|
18
|
+
|
|
19
|
+
export const createIdentifier = ({
|
|
20
|
+
collectionName = `collection-${random()}`,
|
|
21
|
+
occurrenceKey = `occurrence-${random()}`
|
|
22
|
+
} = {}) => ({
|
|
23
|
+
mediaItemType: 'file',
|
|
24
|
+
id: uuidv4(),
|
|
25
|
+
collectionName,
|
|
26
|
+
occurrenceKey
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const generateFileName = extension => {
|
|
30
|
+
const fileNames = ['quick-and-dirty', 'quality-time', 'down-for-the-count', 'hard-pill-to-swallow', 'between-a-rock-and-a-hard-place', 'fish-out-of-water', 'top-drawer', 'like-father-like-son', 'mountain-out-of-a-molehill', 'under-your-nose', 'a-chip-on-your-shoulder', 'hit-below-the-belt'];
|
|
31
|
+
return `${getRandomElem(fileNames)}.${extension}`;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const mediaTypesDetails = {
|
|
35
|
+
image: {
|
|
36
|
+
ext: 'png',
|
|
37
|
+
mimeType: 'image/png'
|
|
38
|
+
},
|
|
39
|
+
video: {
|
|
40
|
+
ext: 'mp4',
|
|
41
|
+
mimeType: 'video/mp4'
|
|
42
|
+
},
|
|
43
|
+
doc: {
|
|
44
|
+
ext: 'pdf',
|
|
45
|
+
mimeType: 'application/pdf'
|
|
46
|
+
},
|
|
47
|
+
unknown: {
|
|
48
|
+
ext: 'unknown',
|
|
49
|
+
mimeType: 'unknown'
|
|
50
|
+
},
|
|
51
|
+
audio: {
|
|
52
|
+
ext: 'mp3',
|
|
53
|
+
mimeType: 'audio/mpeg'
|
|
54
|
+
},
|
|
55
|
+
archive: {
|
|
56
|
+
ext: 'zip',
|
|
57
|
+
mimeType: 'application/zip'
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const mediaTypes = Object.keys(mediaTypesDetails);
|
|
61
|
+
|
|
62
|
+
const generateMediaTypeDetails = mediaType => {
|
|
63
|
+
const {
|
|
64
|
+
mimeType,
|
|
65
|
+
ext
|
|
66
|
+
} = mediaTypesDetails[mediaType];
|
|
67
|
+
return {
|
|
68
|
+
mimeType,
|
|
69
|
+
name: generateFileName(ext)
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export const createFileDetails = (id, mediaType = getRandomElem(mediaTypes)) => {
|
|
74
|
+
const {
|
|
75
|
+
mimeType,
|
|
76
|
+
name
|
|
77
|
+
} = generateMediaTypeDetails(mediaType);
|
|
78
|
+
return {
|
|
79
|
+
id,
|
|
80
|
+
createdAt: random(),
|
|
81
|
+
size: random(),
|
|
82
|
+
name,
|
|
83
|
+
mediaType,
|
|
84
|
+
mimeType
|
|
85
|
+
};
|
|
86
|
+
};
|
package/dist/es2019/index.js
CHANGED
|
@@ -36,5 +36,6 @@ export { enableMockGlobalImage, disableMockGlobalImage } from './MockGlobalImage
|
|
|
36
36
|
export { exampleMediaFeatureFlags } from './example-mediaFeatureFlags';
|
|
37
37
|
export { dataURItoBlob } from './mockData/utils';
|
|
38
38
|
export { mapDataUriToBlob } from './utils/index';
|
|
39
|
-
export { createPollingMaxAttemptsError, createRateLimitedError } from './mediaClientErrors';
|
|
40
|
-
export { default as FeatureFlagsWrapper } from './featureFlagsWrapper';
|
|
39
|
+
export { createPollingMaxAttemptsError, createRateLimitedError, createMediaStoreError } from './mediaClientErrors';
|
|
40
|
+
export { default as FeatureFlagsWrapper } from './featureFlagsWrapper';
|
|
41
|
+
export { FileStateFactory, MediaClientMock, createIdentifier, createFileDetails, createFileState } from './fileStateFactory';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { RequestError, PollingError } from '@atlaskit/media-client';
|
|
1
|
+
import { RequestError, PollingError, MediaStoreError } from '@atlaskit/media-client';
|
|
2
2
|
export const createRateLimitedError = (metadata = {}) => new RequestError('serverRateLimited', { ...metadata,
|
|
3
3
|
statusCode: 429
|
|
4
4
|
});
|
|
5
|
-
export const createPollingMaxAttemptsError = (attempts = 1) => new PollingError('pollingMaxAttemptsExceeded', attempts);
|
|
5
|
+
export const createPollingMaxAttemptsError = (attempts = 1) => new PollingError('pollingMaxAttemptsExceeded', attempts);
|
|
6
|
+
export const createMediaStoreError = () => new MediaStoreError('missingInitialAuth');
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IntlProvider } from 'react-intl-next';
|
|
3
|
+
import { render } from '@testing-library/react';
|
|
4
|
+
export const renderWithIntl = component => {
|
|
5
|
+
return render( /*#__PURE__*/React.createElement(IntlProvider, {
|
|
6
|
+
locale: "en"
|
|
7
|
+
}, component));
|
|
8
|
+
};
|