@atlaskit/media-test-helpers 29.0.0 → 29.2.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/cjs/MockGlobalImage.js +3 -1
  3. package/dist/cjs/clipboardEventMocks.js +1 -1
  4. package/dist/cjs/example-mediaFeatureFlags.js +2 -2
  5. package/dist/cjs/featureFlagsWrapper/dropdown.js +7 -7
  6. package/dist/cjs/featureFlagsWrapper/helpers.js +2 -2
  7. package/dist/cjs/fileReader.js +5 -4
  8. package/dist/cjs/fileStateFactory/createFileState.js +93 -0
  9. package/dist/cjs/fileStateFactory/factory.js +174 -0
  10. package/dist/cjs/fileStateFactory/helpers.js +110 -0
  11. package/dist/cjs/fileStateFactory/index.js +41 -0
  12. package/dist/cjs/index.js +39 -1
  13. package/dist/cjs/keyboardEventWithKeyCode.js +5 -3
  14. package/dist/cjs/mediaClientErrors.js +10 -4
  15. package/dist/cjs/mediaPickerMocks.js +2 -2
  16. package/dist/cjs/mockData/index.js +4 -3
  17. package/dist/cjs/mockData/matchers.js +4 -6
  18. package/dist/cjs/mockLoadImage.js +2 -2
  19. package/dist/cjs/mocks/fileAndDirectoriesUtils.js +2 -2
  20. package/dist/cjs/mocks/routers/api-router.js +2 -2
  21. package/dist/cjs/mocks/websockets/remote-upload-server.js +4 -2
  22. package/dist/cjs/mountWithIntlContext.js +7 -4
  23. package/dist/cjs/renderWithIntl.js +22 -0
  24. package/dist/cjs/smart-card-state.js +108 -0
  25. package/dist/cjs/story-styles.js +2 -2
  26. package/dist/cjs/styled.js +2 -2
  27. package/dist/cjs/version.json +1 -1
  28. package/dist/es2019/featureFlagsWrapper/dropdown.js +3 -3
  29. package/dist/es2019/fileStateFactory/createFileState.js +78 -0
  30. package/dist/es2019/fileStateFactory/factory.js +87 -0
  31. package/dist/es2019/fileStateFactory/helpers.js +86 -0
  32. package/dist/es2019/fileStateFactory/index.js +3 -0
  33. package/dist/es2019/index.js +3 -2
  34. package/dist/es2019/mediaClientErrors.js +3 -2
  35. package/dist/es2019/mockData/matchers.js +1 -1
  36. package/dist/es2019/renderWithIntl.js +8 -0
  37. package/dist/es2019/smart-card-state.js +100 -0
  38. package/dist/es2019/story-styles.js +1 -1
  39. package/dist/es2019/styled.js +1 -1
  40. package/dist/es2019/version.json +1 -1
  41. package/dist/esm/MockGlobalImage.js +2 -1
  42. package/dist/esm/clipboardEventMocks.js +1 -1
  43. package/dist/esm/example-mediaFeatureFlags.js +2 -2
  44. package/dist/esm/featureFlagsWrapper/dropdown.js +3 -3
  45. package/dist/esm/featureFlagsWrapper/helpers.js +2 -2
  46. package/dist/esm/fileReader.js +4 -3
  47. package/dist/esm/fileStateFactory/createFileState.js +80 -0
  48. package/dist/esm/fileStateFactory/factory.js +161 -0
  49. package/dist/esm/fileStateFactory/helpers.js +96 -0
  50. package/dist/esm/fileStateFactory/index.js +3 -0
  51. package/dist/esm/index.js +3 -2
  52. package/dist/esm/keyboardEventWithKeyCode.js +4 -3
  53. package/dist/esm/mediaClientErrors.js +6 -3
  54. package/dist/esm/mediaPickerMocks.js +2 -2
  55. package/dist/esm/mockData/index.js +3 -2
  56. package/dist/esm/mockData/matchers.js +1 -1
  57. package/dist/esm/mockLoadImage.js +2 -2
  58. package/dist/esm/mocks/fileAndDirectoriesUtils.js +2 -2
  59. package/dist/esm/mocks/routers/api-router.js +2 -2
  60. package/dist/esm/mocks/websockets/remote-upload-server.js +4 -2
  61. package/dist/esm/mountWithIntlContext.js +6 -4
  62. package/dist/esm/renderWithIntl.js +8 -0
  63. package/dist/esm/smart-card-state.js +100 -0
  64. package/dist/esm/story-styles.js +1 -1
  65. package/dist/esm/styled.js +1 -1
  66. package/dist/esm/version.json +1 -1
  67. package/dist/types/featureFlagsWrapper/helpers.d.ts +1 -1
  68. package/dist/types/fileStateFactory/createFileState.d.ts +10 -0
  69. package/dist/types/fileStateFactory/factory.d.ts +42 -0
  70. package/dist/types/fileStateFactory/helpers.d.ts +7 -0
  71. package/dist/types/fileStateFactory/index.d.ts +4 -0
  72. package/dist/types/index.d.ts +3 -1
  73. package/dist/types/mediaClientErrors.d.ts +2 -1
  74. package/dist/types/renderWithIntl.d.ts +3 -0
  75. package/dist/types/smart-card-state.d.ts +2 -0
  76. package/dist/types/story-styles.d.ts +2 -2
  77. package/dist/types/styled.d.ts +1 -1
  78. package/package.json +13 -12
  79. package/renderWithIntl/package.json +7 -0
  80. package/smart-card-state/package.json +7 -0
  81. package/typings/uuid.d.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @atlaskit/media-test-helpers
2
2
 
3
+ ## 29.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`8bf4fdb8ed4`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8bf4fdb8ed4) - add renderWithIntl helper
8
+ - [`8742dbe70bd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8742dbe70bd) - MEX-1102 Removed lodash dependencies from media component and converted all to local functions (lightweight helpers)
9
+ - [`94539e589cc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/94539e589cc) - MEX-1105 Migrated @atlaskit/button to @atlaskit/button/standard-button
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 29.1.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`3ad0bbf0f93`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3ad0bbf0f93) - Log media ssr getImageURLSync error in global variable ssr data.
20
+ - [`2f682970bfe`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2f682970bfe) - Filestates Factory accepts options for MediaClientMock constructor
21
+ - [`da72247beeb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/da72247beeb) - remove styled-components from media-ui
22
+ - [`22a39ca6f66`](https://bitbucket.org/atlassian/atlassian-frontend/commits/22a39ca6f66) - expose @atlaskit/media-test-helpers/smart-card-state
23
+ - [`4735277e315`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4735277e315) - Extended FileState factory to update File Id internally
24
+ - [`5571b079998`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5571b079998) - Added A File State simulator helper
25
+
26
+ ### Patch Changes
27
+
28
+ - Updated dependencies
29
+
30
+ ## 29.0.1
31
+
32
+ ### Patch Changes
33
+
34
+ - [`c55c736ecea`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c55c736ecea) - Patch VULN AFP-3486 AFP-3487 AFP-3488 AFP-3489
35
+
3
36
  ## 29.0.0
4
37
 
5
38
  ### Major Changes
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.disableMockGlobalImage = disableMockGlobalImage;
9
9
  exports.enableMockGlobalImage = enableMockGlobalImage;
10
10
 
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+
11
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
14
 
13
15
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
@@ -39,7 +41,7 @@ var MockImage = /*#__PURE__*/function (_global$Image) {
39
41
  return _this;
40
42
  }
41
43
 
42
- return MockImage;
44
+ return (0, _createClass2.default)(MockImage);
43
45
  }(global.Image);
44
46
 
45
47
  function enableMockGlobalImage() {
@@ -171,7 +171,7 @@ var getMockClipboardEvent = function getMockClipboardEvent() {
171
171
  return _this;
172
172
  }
173
173
 
174
- return MockClipboardEvent;
174
+ return (0, _createClass2.default)(MockClipboardEvent);
175
175
  }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Event));
176
176
  };
177
177
 
@@ -11,9 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _mediaCommon = require("@atlaskit/media-common");
13
13
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
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] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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 exampleMediaFeatureFlags = _objectSpread({}, _mediaCommon.defaultMediaFeatureFlags);
19
19
 
@@ -27,17 +27,17 @@ var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-c
27
27
 
28
28
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/hipchat/chevron-down"));
29
29
 
30
- var _button = _interopRequireDefault(require("@atlaskit/button"));
30
+ var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
31
31
 
32
32
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
33
33
 
34
- var _styledComponents = _interopRequireDefault(require("styled-components"));
34
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
35
35
 
36
36
  var _popup = _interopRequireDefault(require("@atlaskit/popup"));
37
37
 
38
38
  var _checkbox = require("@atlaskit/checkbox");
39
39
 
40
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
40
+ var _mediaCommon = require("@atlaskit/media-common");
41
41
 
42
42
  var _templateObject;
43
43
 
@@ -50,7 +50,7 @@ var camelCaseToSentenceCase = function camelCaseToSentenceCase(text) {
50
50
  return result.charAt(0).toUpperCase() + result.slice(1);
51
51
  };
52
52
 
53
- var Container = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n margin: 20px auto;\n"])));
53
+ var Container = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n margin: 20px auto;\n"])));
54
54
 
55
55
  var ItemWrapper = function ItemWrapper(_ref) {
56
56
  var children = _ref.children;
@@ -83,7 +83,7 @@ var TextFieldItem = function TextFieldItem(_ref3) {
83
83
  value = _ref3.value,
84
84
  isNumber = _ref3.isNumber,
85
85
  onChange = _ref3.onChange;
86
- var fieldChanged = (0, _debounce.default)(function (newValue) {
86
+ var fieldChanged = (0, _mediaCommon.debounce)(function (newValue) {
87
87
  var formattedValue = isNumber ? isNaN(Number(newValue)) ? 0 : Number(newValue) : newValue;
88
88
  (0, _helpers.setLocalFeatureFlag)(name, formattedValue);
89
89
  onChange();
@@ -162,7 +162,7 @@ var MediaFeatureFlagsDropdown = function MediaFeatureFlagsDropdown(_ref7) {
162
162
  });
163
163
  },
164
164
  trigger: function trigger(triggerProps) {
165
- return /*#__PURE__*/_react.default.createElement(_button.default, (0, _extends2.default)({}, triggerProps, {
165
+ return /*#__PURE__*/_react.default.createElement(_standardButton.default, (0, _extends2.default)({}, triggerProps, {
166
166
  isSelected: isOpen,
167
167
  onClick: function onClick() {
168
168
  return setIsOpen(!isOpen);
@@ -175,7 +175,7 @@ var MediaFeatureFlagsDropdown = function MediaFeatureFlagsDropdown(_ref7) {
175
175
  }
176
176
  }), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
177
177
  content: "Reset all flags"
178
- }, /*#__PURE__*/_react.default.createElement(_button.default, {
178
+ }, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
179
179
  style: {
180
180
  marginLeft: 10
181
181
  },
@@ -11,9 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _mediaCommon = require("@atlaskit/media-common");
13
13
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
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] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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 mediaFeatureFlagsKeys = Object.keys(_mediaCommon.defaultMediaFeatureFlags);
19
19
 
@@ -15,6 +15,8 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
 
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
17
 
18
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
+
18
20
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
21
 
20
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -23,7 +25,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
23
25
 
24
26
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
25
27
 
26
- var MockFileReader = function MockFileReader() {
28
+ var MockFileReader = /*#__PURE__*/(0, _createClass2.default)(function MockFileReader() {
27
29
  var _this = this;
28
30
 
29
31
  var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'mockResult';
@@ -44,8 +46,7 @@ var MockFileReader = function MockFileReader() {
44
46
  _this.loadEvent();
45
47
  }));
46
48
  this.result = result;
47
- };
48
-
49
+ });
49
50
  var mockFileReaderError = {
50
51
  message: 'error'
51
52
  };
@@ -72,7 +73,7 @@ var MockFileReaderWithError = /*#__PURE__*/function (_MockFileReader) {
72
73
  return _this2;
73
74
  }
74
75
 
75
- return MockFileReaderWithError;
76
+ return (0, _createClass2.default)(MockFileReaderWithError);
76
77
  }(MockFileReader);
77
78
 
78
79
  var GlobalFileReader = global.FileReader;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createFileState = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _ = require("../");
13
+
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
+
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
+
18
+ var localPreview = {
19
+ value: _.tallImage
20
+ };
21
+ var brokenLocalPreview = {
22
+ value: 'broken-data-uri'
23
+ };
24
+ var remotePreview = {
25
+ image: {}
26
+ };
27
+
28
+ var createFileState = function createFileState(id, status) {
29
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
30
+ withRemotePreview = _ref.withRemotePreview,
31
+ withLocalPreview = _ref.withLocalPreview,
32
+ withBrokenLocalPreview = _ref.withBrokenLocalPreview,
33
+ uploadProgress = _ref.uploadProgress,
34
+ fileDetails = _ref.fileDetails;
35
+
36
+ var extendState = {};
37
+
38
+ if (uploadProgress) {
39
+ extendState.progress = uploadProgress;
40
+ } // REMOTE PREVIEW
41
+
42
+
43
+ if (withRemotePreview) {
44
+ extendState.representations = remotePreview;
45
+ } else if (withRemotePreview === false) {
46
+ extendState.representations = {};
47
+ } // LOCAL PREVIEW
48
+
49
+
50
+ if (withLocalPreview) {
51
+ extendState.preview = localPreview;
52
+ } else if (withBrokenLocalPreview) {
53
+ extendState.preview = brokenLocalPreview;
54
+ }
55
+
56
+ var base = _objectSpread(_objectSpread(_objectSpread({}, fileDetails), extendState), {}, {
57
+ id: id
58
+ });
59
+
60
+ switch (status) {
61
+ case 'uploading':
62
+ return _objectSpread({
63
+ status: 'uploading',
64
+ progress: 0
65
+ }, base);
66
+
67
+ case 'processing':
68
+ return _objectSpread({
69
+ status: 'processing'
70
+ }, base);
71
+
72
+ case 'processed':
73
+ return _objectSpread({
74
+ status: 'processed',
75
+ representations: remotePreview,
76
+ artifacts: {}
77
+ }, base);
78
+
79
+ case 'failed-processing':
80
+ return _objectSpread({
81
+ status: 'failed-processing'
82
+ }, base);
83
+
84
+ case 'error':
85
+ default:
86
+ return {
87
+ id: id,
88
+ status: 'error'
89
+ };
90
+ }
91
+ };
92
+
93
+ exports.createFileState = createFileState;
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.MediaClientMock = exports.FileStateFactory = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
+
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
+
24
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
28
+ var _ = require("..");
29
+
30
+ var _mediaClient = require("@atlaskit/media-client");
31
+
32
+ var _createFileState = require("./createFileState");
33
+
34
+ var _helpers = require("./helpers");
35
+
36
+ var _nextTick = require("../nextTick");
37
+
38
+ 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; }
39
+
40
+ 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; }
41
+
42
+ 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); }; }
43
+
44
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
+
46
+ var MediaClientMock = /*#__PURE__*/function (_MediaClient) {
47
+ (0, _inherits2.default)(MediaClientMock, _MediaClient);
48
+
49
+ var _super = _createSuper(MediaClientMock);
50
+
51
+ function MediaClientMock(observable, mediaClientConfig, featureFlags) {
52
+ var _this;
53
+
54
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
55
+ (0, _classCallCheck2.default)(this, MediaClientMock);
56
+ _this = _super.call(this, mediaClientConfig, featureFlags);
57
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateObserbable", function (newObservable) {
58
+ _this.observable = newObservable;
59
+ });
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getImage", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
61
+ var _this$options$getImag, getImageDelay;
62
+
63
+ return _regenerator.default.wrap(function _callee$(_context) {
64
+ while (1) {
65
+ switch (_context.prev = _context.next) {
66
+ case 0:
67
+ _this$options$getImag = _this.options.getImageDelay, getImageDelay = _this$options$getImag === void 0 ? 0 : _this$options$getImag;
68
+ _context.next = 3;
69
+ return (0, _nextTick.sleep)(getImageDelay);
70
+
71
+ case 3:
72
+ return _context.abrupt("return", (0, _.dataURItoBlob)(_.tallImage));
73
+
74
+ case 4:
75
+ case "end":
76
+ return _context.stop();
77
+ }
78
+ }
79
+ }, _callee);
80
+ })));
81
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mockFileFetcher", function () {
82
+ _this.file.getFileState = function () {
83
+ return _this.observable;
84
+ };
85
+ });
86
+ _this.observable = observable;
87
+ _this.options = options;
88
+
89
+ _this.mockFileFetcher();
90
+
91
+ return _this;
92
+ }
93
+
94
+ return (0, _createClass2.default)(MediaClientMock);
95
+ }(_mediaClient.MediaClient);
96
+
97
+ exports.MediaClientMock = MediaClientMock;
98
+ var mockConfig = {
99
+ authProvider: function () {
100
+ var _authProvider = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
101
+ return _regenerator.default.wrap(function _callee2$(_context2) {
102
+ while (1) {
103
+ switch (_context2.prev = _context2.next) {
104
+ case 0:
105
+ return _context2.abrupt("return", {
106
+ clientId: 'some-client',
107
+ token: 'some-token',
108
+ baseUrl: 'some-url'
109
+ });
110
+
111
+ case 1:
112
+ case "end":
113
+ return _context2.stop();
114
+ }
115
+ }
116
+ }, _callee2);
117
+ }));
118
+
119
+ function authProvider() {
120
+ return _authProvider.apply(this, arguments);
121
+ }
122
+
123
+ return authProvider;
124
+ }()
125
+ };
126
+
127
+ /**
128
+ * A fake Media Client that provides a backdoor to inject
129
+ * simulated file states. With this class, we can test several scenarios
130
+ * without having to recreate them all in the backend.
131
+ */
132
+ var FileStateFactory = /*#__PURE__*/(0, _createClass2.default)(function FileStateFactory(identifier) {
133
+ var _this2 = this;
134
+
135
+ var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
136
+ _fileDetails = _ref2.fileDetails,
137
+ _ref2$mediaClientConf = _ref2.mediaClientConfig,
138
+ mediaClientConfig = _ref2$mediaClientConf === void 0 ? mockConfig : _ref2$mediaClientConf,
139
+ featureFlags = _ref2.featureFlags,
140
+ mediaClientMockOptions = _ref2.mediaClientMockOptions;
141
+
142
+ (0, _classCallCheck2.default)(this, FileStateFactory);
143
+ (0, _defineProperty2.default)(this, "updateIdentifier", function (identifier, fileDetails) {
144
+ _this2.identifier = identifier;
145
+ _this2.fileDetails = fileDetails || (0, _helpers.createFileDetails)(_this2.identifier.id);
146
+ _this2.observable = (0, _mediaClient.createFileStateSubject)();
147
+
148
+ _this2.mediaClient.updateObserbable(_this2.observable);
149
+ });
150
+ (0, _defineProperty2.default)(this, "subscription", {
151
+ next: function next(fileState) {
152
+ _this2.observable.next(fileState);
153
+ },
154
+ error: function error(_error) {
155
+ _this2.observable.error(_error);
156
+ }
157
+ });
158
+ (0, _defineProperty2.default)(this, "createFileState", function (status, options) {
159
+ return (0, _createFileState.createFileState)(_this2.identifier.id, status, _objectSpread(_objectSpread({}, options), {}, {
160
+ fileDetails: (options === null || options === void 0 ? void 0 : options.fileDetails) || _this2.fileDetails
161
+ }));
162
+ });
163
+ (0, _defineProperty2.default)(this, "next", function (status, options) {
164
+ _this2.subscription.next(_this2.createFileState(status, options));
165
+ });
166
+ (0, _defineProperty2.default)(this, "error", function (error) {
167
+ _this2.subscription.error(error);
168
+ });
169
+ this.identifier = identifier;
170
+ this.fileDetails = _fileDetails || (0, _helpers.createFileDetails)(this.identifier.id);
171
+ this.observable = (0, _mediaClient.createFileStateSubject)();
172
+ this.mediaClient = new MediaClientMock(this.observable, mediaClientConfig, featureFlags, mediaClientMockOptions);
173
+ });
174
+ exports.FileStateFactory = FileStateFactory;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultFileDetails = exports.createIdentifier = exports.createFileDetails = void 0;
7
+
8
+ var _uuid = require("uuid");
9
+
10
+ var defaultFileDetails = {
11
+ createdAt: 1630986510989,
12
+ mediaType: 'image',
13
+ mimeType: 'image/png',
14
+ name: 'file-name.png',
15
+ size: 1
16
+ }; // min inclusive / max exclusive
17
+
18
+ exports.defaultFileDetails = defaultFileDetails;
19
+
20
+ function random() {
21
+ var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
22
+ var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000;
23
+ min = Math.ceil(min);
24
+ max = Math.floor(max) - 1;
25
+ var result = Math.floor(Math.random() * (max - min + 1)) + min;
26
+ return result;
27
+ }
28
+
29
+ var getRandomElem = function getRandomElem(arr) {
30
+ return arr[Math.floor(Math.random() * arr.length)];
31
+ };
32
+
33
+ var createIdentifier = function createIdentifier() {
34
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
35
+ _ref$collectionName = _ref.collectionName,
36
+ collectionName = _ref$collectionName === void 0 ? "collection-".concat(random()) : _ref$collectionName,
37
+ _ref$occurrenceKey = _ref.occurrenceKey,
38
+ occurrenceKey = _ref$occurrenceKey === void 0 ? "occurrence-".concat(random()) : _ref$occurrenceKey;
39
+
40
+ return {
41
+ mediaItemType: 'file',
42
+ id: (0, _uuid.v4)(),
43
+ collectionName: collectionName,
44
+ occurrenceKey: occurrenceKey
45
+ };
46
+ };
47
+
48
+ exports.createIdentifier = createIdentifier;
49
+
50
+ var generateFileName = function generateFileName(extension) {
51
+ var 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'];
52
+ return "".concat(getRandomElem(fileNames), ".").concat(extension);
53
+ };
54
+
55
+ var mediaTypesDetails = {
56
+ image: {
57
+ ext: 'png',
58
+ mimeType: 'image/png'
59
+ },
60
+ video: {
61
+ ext: 'mp4',
62
+ mimeType: 'video/mp4'
63
+ },
64
+ doc: {
65
+ ext: 'pdf',
66
+ mimeType: 'application/pdf'
67
+ },
68
+ unknown: {
69
+ ext: 'unknown',
70
+ mimeType: 'unknown'
71
+ },
72
+ audio: {
73
+ ext: 'mp3',
74
+ mimeType: 'audio/mpeg'
75
+ },
76
+ archive: {
77
+ ext: 'zip',
78
+ mimeType: 'application/zip'
79
+ }
80
+ };
81
+ var mediaTypes = Object.keys(mediaTypesDetails);
82
+
83
+ var generateMediaTypeDetails = function generateMediaTypeDetails(mediaType) {
84
+ var _mediaTypesDetails$me = mediaTypesDetails[mediaType],
85
+ mimeType = _mediaTypesDetails$me.mimeType,
86
+ ext = _mediaTypesDetails$me.ext;
87
+ return {
88
+ mimeType: mimeType,
89
+ name: generateFileName(ext)
90
+ };
91
+ };
92
+
93
+ var createFileDetails = function createFileDetails(id) {
94
+ var mediaType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getRandomElem(mediaTypes);
95
+
96
+ var _generateMediaTypeDet = generateMediaTypeDetails(mediaType),
97
+ mimeType = _generateMediaTypeDet.mimeType,
98
+ name = _generateMediaTypeDet.name;
99
+
100
+ return {
101
+ id: id,
102
+ createdAt: random(),
103
+ size: random(),
104
+ name: name,
105
+ mediaType: mediaType,
106
+ mimeType: mimeType
107
+ };
108
+ };
109
+
110
+ exports.createFileDetails = createFileDetails;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FileStateFactory", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _factory.FileStateFactory;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "MediaClientMock", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _factory.MediaClientMock;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "createFileDetails", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _helpers.createFileDetails;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "createFileState", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _createFileState.createFileState;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "createIdentifier", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _helpers.createIdentifier;
34
+ }
35
+ });
36
+
37
+ var _factory = require("./factory");
38
+
39
+ var _helpers = require("./helpers");
40
+
41
+ var _createFileState = require("./createFileState");
package/dist/cjs/index.js CHANGED
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "FeatureFlagsWrapper", {
17
17
  return _featureFlagsWrapper.default;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "FileStateFactory", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _fileStateFactory.FileStateFactory;
24
+ }
25
+ });
20
26
  Object.defineProperty(exports, "I18NWrapper", {
21
27
  enumerable: true,
22
28
  get: function get() {
@@ -35,6 +41,12 @@ Object.defineProperty(exports, "Matrix", {
35
41
  return _storyStyles.Matrix;
36
42
  }
37
43
  });
44
+ Object.defineProperty(exports, "MediaClientMock", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _fileStateFactory.MediaClientMock;
48
+ }
49
+ });
38
50
  Object.defineProperty(exports, "MediaMock", {
39
51
  enumerable: true,
40
52
  get: function get() {
@@ -167,6 +179,30 @@ Object.defineProperty(exports, "collectionNames", {
167
179
  return _collectionNames.collectionNames;
168
180
  }
169
181
  });
182
+ Object.defineProperty(exports, "createFileDetails", {
183
+ enumerable: true,
184
+ get: function get() {
185
+ return _fileStateFactory.createFileDetails;
186
+ }
187
+ });
188
+ Object.defineProperty(exports, "createFileState", {
189
+ enumerable: true,
190
+ get: function get() {
191
+ return _fileStateFactory.createFileState;
192
+ }
193
+ });
194
+ Object.defineProperty(exports, "createIdentifier", {
195
+ enumerable: true,
196
+ get: function get() {
197
+ return _fileStateFactory.createIdentifier;
198
+ }
199
+ });
200
+ Object.defineProperty(exports, "createMediaStoreError", {
201
+ enumerable: true,
202
+ get: function get() {
203
+ return _mediaClientErrors.createMediaStoreError;
204
+ }
205
+ });
170
206
  Object.defineProperty(exports, "createMouseEvent", {
171
207
  enumerable: true,
172
208
  get: function get() {
@@ -888,4 +924,6 @@ var _index = require("./utils/index");
888
924
 
889
925
  var _mediaClientErrors = require("./mediaClientErrors");
890
926
 
891
- var _featureFlagsWrapper = _interopRequireDefault(require("./featureFlagsWrapper"));
927
+ var _featureFlagsWrapper = _interopRequireDefault(require("./featureFlagsWrapper"));
928
+
929
+ var _fileStateFactory = require("./fileStateFactory");