UNPKG

filestack-js

Version:

Official JavaScript library for Filestack

134 lines (132 loc) 13.1 kB
/* * 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. */ import { __awaiter, __generator } from "tslib"; import { picker } from './picker'; import * as filestack from './../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 = picker(client, {}); }); it('should properly open picker', function () { return __awaiter(void 0, void 0, void 0, function () { return __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 __awaiter(void 0, void 0, void 0, function () { var files; return __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 __awaiter(void 0, void 0, void 0, function () { return __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 __awaiter(void 0, void 0, void 0, function () { return __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 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 picker(client, { // @ts-ignore onOpen: 'test', customText: { Upload: 'customUpload', // @ts-ignore asd: {}, }, }); }).toThrowError('Invalid picker params'); }); }); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvcGlja2VyLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFFeEMsSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFqQixDQUFpQixDQUFDLENBQUM7QUFFeEQsSUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFqQixDQUFpQixDQUFDLENBQUM7QUFDeEQsSUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFqQixDQUFpQixDQUFDLENBQUM7QUFDekQsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQWpCLENBQWlCLENBQUMsQ0FBQztBQUUxRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO0lBQzdCLE9BQU87UUFDTCxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTztnQkFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbkMsT0FBTzt3QkFDTCxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsSUFBSSxFQUFFLGNBQWM7d0JBQ3BCLEtBQUssRUFBRSxlQUFlO3dCQUN0QixNQUFNLEVBQUUsZ0JBQWdCO3FCQUN6QixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDLENB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UmtCLENBUWxCLENBQUMsQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6ImxpYi9waWNrZXIuc3BlYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IHBpY2tlciB9IGZyb20gJy4vcGlja2VyJztcbmltcG9ydCAqIGFzIGZpbGVzdGFjayBmcm9tICcuLy4uL2luZGV4JztcblxuY29uc3QgbW9ja1BpY2tlck9wZW4gPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTtcblxuY29uc3QgbW9ja1BpY2tlckNyb3AgPSBqZXN0LmZuKCgpID0+IFByb21pc2UucmVzb2x2ZSgpKTtcbmNvbnN0IG1vY2tQaWNrZXJDbG9zZSA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuY29uc3QgbW9ja1BpY2tlckNhbmNlbCA9IGplc3QuZm4oKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCkpO1xuXG5qZXN0Lm1vY2soJ0BmaWxlc3RhY2svbG9hZGVyJywgKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIHJlZ2lzdGVyTW9kdWxlOiBqZXN0LmZuKCksXG4gICAgbG9hZE1vZHVsZTogamVzdC5mbigoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgcmVzb2x2ZShqZXN0LmZuKCkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb3BlbjogbW9ja1BpY2tlck9wZW4sXG4gICAgICAgICAgICBjcm9wOiBtb2NrUGlja2VyQ3JvcCxcbiAgICAgICAgICAgIGNsb3NlOiBtb2NrUGlja2VyQ2xvc2UsXG4gICAgICAgICAgICBjYW5jZWw6IG1vY2tQaWNrZXJDYW5jZWwsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSkpO1xuICAgICAgfSk7XG4gICAgfSksXG4gICAgRklMRVNUQUNLX01PRFVMRVM6IHtcbiAgICAgIFBJQ0tFUjogJ3BpY2tlcicsXG4gICAgICBGSUxFU1RBQ0tfU0RLOiAnc2RrJyxcbiAgICB9LFxuICB9O1xufSk7XG5cbmxldCBwaWNrZXJJbnN0YW5jZTtcbmxldCBjbGllbnQ7XG5cbmRlc2NyaWJlKCdwaWNrZXInLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEFwaWtleSA9ICdERUZBVUxUX0FQSV9LRVknO1xuICAgIGNsaWVudCA9IGZpbGVzdGFjay5pbml0KGRlZmF1bHRBcGlrZXkpO1xuICB9KTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBwaWNrZXJJbnN0YW5jZSA9IHBpY2tlcihjbGllbnQsIHt9KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBvcGVuIHBpY2tlcicsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBwaWNrZXJJbnN0YW5jZS5vcGVuKCk7XG4gICAgZXhwZWN0KG1vY2tQaWNrZXJPcGVuKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHJvcGVybHkgY3JvcCBwaWNrZXInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZXMgPSBbJ2ZpbGUxLnR4dCcsICdmaWxlMi50eHQnXTtcblxuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLmNyb3AoZmlsZXMpO1xuICAgIGV4cGVjdC5hc3NlcnRpb25zKDIpO1xuICAgIGV4cGVjdChtb2NrUGlja2VyQ3JvcCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgIGV4cGVjdChtb2NrUGlja2VyQ3JvcCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoZmlsZXMpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHByb3Blcmx5IGNsb3NlIHBpY2tlcicsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBwaWNrZXJJbnN0YW5jZS5jbG9zZSgpO1xuICAgIGV4cGVjdChtb2NrUGlja2VyQ2xvc2UpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBwcm9wZXJseSBjYW5jZWwgcGlja2VyJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHBpY2tlckluc3RhbmNlLmNhbmNlbCgpO1xuICAgIGV4cGVjdChtb2NrUGlja2VyQ2FuY2VsKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbm90IHRocm93IGVycm9yIG9uIGNvcnJlY3QgcGFyYW1zJywgKCkgPT4ge1xuICAgIHJldHVybiBleHBlY3QoKCkgPT4gcGlja2VyKGNsaWVudCwge1xuICAgICAgb25PcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKDEyMyk7XG4gICAgICB9LFxuICAgICAgY3VzdG9tVGV4dDoge1xuICAgICAgICBVcGxvYWQ6ICdjdXN0b21VcGxvYWQnLFxuICAgICAgfSxcbiAgICAgIHVwbG9hZENvbmZpZzoge1xuICAgICAgICBwYXJ0U2l6ZTogNiAqIDEwMjQgKiAxMDI0LFxuICAgICAgfSxcbiAgICAgIHN0b3JlVG86IHtcbiAgICAgICAgY29udGFpbmVyOiAndGVzdCcsXG4gICAgICB9LFxuICAgIH0pKS5ub3QudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHBpY2tlciBwYXJhbXMnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBvbiBpbnZhbGlkIG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgcmV0dXJuIGV4cGVjdCgoKSA9PiBwaWNrZXIoY2xpZW50LCB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvbk9wZW46ICd0ZXN0JyxcbiAgICAgIGN1c3RvbVRleHQ6IHtcbiAgICAgICAgVXBsb2FkOiAnY3VzdG9tVXBsb2FkJyxcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBhc2Q6IHt9LFxuICAgICAgfSxcbiAgICB9KSkudG9UaHJvd0Vycm9yKCdJbnZhbGlkIHBpY2tlciBwYXJhbXMnKTtcbiAgfSk7XG59KTtcbiJdfQ==