UNPKG

filestack-js

Version:

Official JavaScript library for Filestack

136 lines (134 loc) 13.2 kB
"use strict"; /* * Copyright (c) 2019 by Filestack. * Some rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var picker_1 = require("./picker"); var filestack = tslib_1.__importStar(require("./../index")); var mockPickerOpen = jest.fn(function () { return Promise.resolve(); }); var mockPickerCrop = jest.fn(function () { return Promise.resolve(); }); var mockPickerClose = jest.fn(function () { return Promise.resolve(); }); var mockPickerCancel = jest.fn(function () { return Promise.resolve(); }); jest.mock('@filestack/loader', function () { return { registerModule: jest.fn(), loadModule: jest.fn(function () { return new Promise(function (resolve) { resolve(jest.fn().mockImplementation(function () { return { open: mockPickerOpen, crop: mockPickerCrop, close: mockPickerClose, cancel: mockPickerCancel, }; })); }); }), FILESTACK_MODULES: { PICKER: 'picker', FILESTACK_SDK: 'sdk', }, }; }); var pickerInstance; var client; describe('picker', function () { beforeAll(function () { var defaultApikey = 'DEFAULT_API_KEY'; client = filestack.init(defaultApikey); }); beforeEach(function () { pickerInstance = (0, picker_1.picker)(client, {}); }); it('should properly open picker', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, pickerInstance.open()]; case 1: _a.sent(); expect(mockPickerOpen).toHaveBeenCalledTimes(1); return [2 /*return*/]; } }); }); }); it('should properly crop picker', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var files; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: files = ['file1.txt', 'file2.txt']; return [4 /*yield*/, pickerInstance.crop(files)]; case 1: _a.sent(); expect.assertions(2); expect(mockPickerCrop).toHaveBeenCalledTimes(1); expect(mockPickerCrop).toHaveBeenCalledWith(files); return [2 /*return*/]; } }); }); }); it('should properly close picker', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, pickerInstance.close()]; case 1: _a.sent(); expect(mockPickerClose).toHaveBeenCalledTimes(1); return [2 /*return*/]; } }); }); }); it('should properly cancel picker', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, pickerInstance.cancel()]; case 1: _a.sent(); expect(mockPickerCancel).toHaveBeenCalledTimes(1); return [2 /*return*/]; } }); }); }); it('should not throw error on correct params', function () { return expect(function () { return (0, picker_1.picker)(client, { onOpen: function () { console.log(123); }, customText: { Upload: 'customUpload', }, uploadConfig: { partSize: 6 * 1024 * 1024, }, storeTo: { container: 'test', }, }); }).not.toThrowError('Invalid picker params'); }); it('should throw error on invalid options', function () { return expect(function () { return (0, picker_1.picker)(client, { // @ts-ignore onOpen: 'test', customText: { Upload: 'customUpload', // @ts-ignore asd: {}, }, }); }).toThrowError('Invalid picker params'); }); }); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7O0FBRUgsbUNBQWtDO0FBQ2xDLDREQUF3QztBQUV4QyxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUV4RCxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUN4RCxJQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUN6RCxJQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBTSxPQUFBLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO0FBRTFELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7SUFDN0IsT0FBTztRQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ3pCLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO2dCQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNuQyxPQUFPO3dCQUNMLElBQUksRUFBRSxjQUFjO3dCQUNwQixJQUFJLEVBQUUsY0FBYzt3QkFDcEIsS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLE1BQU0sRUFBRSxnQkFBZ0I7cUJBQ3pCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsaUJBQWlC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dUIsQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoibGliL3BpY2tlci5zcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOSBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgcGlja2VyIH0gZnJvbSAnLi9waWNrZXInO1xuaW1wb3J0ICogYXMgZmlsZXN0YWNrIGZyb20gJy4vLi4vaW5kZXgnO1xuXG5jb25zdCBtb2NrUGlja2VyT3BlbiA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG5jb25zdCBtb2NrUGlja2VyQ3JvcCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuY29uc3QgbW9ja1BpY2tlckNsb3NlID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5jb25zdCBtb2NrUGlja2VyQ2FuY2VsID0gamVzdC5mbigoKSA9PiBQcm9taXNlLnJlc29sdmUoKSk7XG5cbmplc3QubW9jaygnQGZpbGVzdGFjay9sb2FkZXInLCAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgcmVnaXN0ZXJNb2R1bGU6IGplc3QuZm4oKSxcbiAgICBsb2FkTW9kdWxlOiBqZXN0LmZuKCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICByZXNvbHZlKGplc3QuZm4oKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvcGVuOiBtb2NrUGlja2VyT3BlbixcbiAgICAgICAgICAgIGNyb3A6IG1vY2tQaWNrZXJDcm9wLFxuICAgICAgICAgICAgY2xvc2U6IG1vY2tQaWNrZXJDbG9zZSxcbiAgICAgICAgICAgIGNhbmNlbDogbW9ja1BpY2tlckNhbmNlbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgICBGSUxFU1RBQ0tfTU9EVUxFUzoge1xuICAgICAgUElDS0VSOiAncGlja2VyJyxcbiAgICAgIEZJTEVTVEFDS19TREs6ICdzZGsnLFxuICAgIH0sXG4gIH07XG59KTtcblxubGV0IHBpY2tlckluc3RhbmNlO1xubGV0IGNsaWVudDtcblxuZGVzY3JpYmUoJ3BpY2tlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0QXBpa2V5ID0gJ0RFRkFVTFRfQVBJX0tFWSc7XG4gICAgY2xpZW50ID0gZmlsZXN0YWNrLmluaXQoZGVmYXVsdEFwaWtleSk7XG4gIH0pO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHBpY2tlckluc3RhbmNlID0gcGlja2VyKGNsaWVudCwge30pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IG9wZW4gcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLm9wZW4oKTtcbiAgICBleHBlY3QobW9ja1BpY2tlck9wZW4pLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBjcm9wIHBpY2tlcicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlcyA9IFsnZmlsZTEudHh0JywgJ2ZpbGUyLnR4dCddO1xuXG4gICAgYXdhaXQgcGlja2VySW5zdGFuY2UuY3JvcChmaWxlcyk7XG4gICAgZXhwZWN0LmFzc2VydGlvbnMoMik7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDcm9wKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDcm9wKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChmaWxlcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHJvcGVybHkgY2xvc2UgcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLmNsb3NlKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDbG9zZSkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IGNhbmNlbCBwaWNrZXInLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgcGlja2VySW5zdGFuY2UuY2FuY2VsKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJDYW5jZWwpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgdGhyb3cgZXJyb3Igb24gY29ycmVjdCBwYXJhbXMnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdCgoKSA9PiBwaWNrZXIoY2xpZW50LCB7XG4gICAgICBvbk9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coMTIzKTtcbiAgICAgIH0sXG4gICAgICBjdXN0b21UZXh0OiB7XG4gICAgICAgIFVwbG9hZDogJ2N1c3RvbVVwbG9hZCcsXG4gICAgICB9LFxuICAgICAgdXBsb2FkQ29uZmlnOiB7XG4gICAgICAgIHBhcnRTaXplOiA2ICogMTAyNCAqIDEwMjQsXG4gICAgICB9LFxuICAgICAgc3RvcmVUbzoge1xuICAgICAgICBjb250YWluZXI6ICd0ZXN0JyxcbiAgICAgIH0sXG4gICAgfSkpLm5vdC50b1Rocm93RXJyb3IoJ0ludmFsaWQgcGlja2VyIHBhcmFtcycpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIG9uIGludmFsaWQgb3B0aW9ucycsICgpID0+IHtcbiAgICByZXR1cm4gZXhwZWN0KCgpID0+IHBpY2tlcihjbGllbnQsIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9uT3BlbjogJ3Rlc3QnLFxuICAgICAgY3VzdG9tVGV4dDoge1xuICAgICAgICBVcGxvYWQ6ICdjdXN0b21VcGxvYWQnLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGFzZDoge30sXG4gICAgICB9LFxuICAgIH0pKS50b1Rocm93RXJyb3IoJ0ludmFsaWQgcGlja2VyIHBhcmFtcycpO1xuICB9KTtcbn0pO1xuIl19