UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

65 lines (51 loc) 4.73 kB
/** * * Given a selector corresponding to an `<input type=file>`, will upload the local * file to the browser machine and fill the form accordingly. It does not submit * the form for you. * * @param {String} selector input element * @param {String} localPath local path to file to be uploaded * * @uses utility/uploadFile, action/addValue * @type utility * */ 'use strict'; var _Promise = require('babel-runtime/core-js/promise')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _utilsErrorHandler = require('../utils/ErrorHandler'); var chooseFile = function chooseFile(selector, localPath) { var _this = this; /*! * parameter check */ if (typeof localPath !== 'string') { return new _utilsErrorHandler.CommandError('number or type of arguments don\'t agree with chooseFile command'); } /*! * mobile check */ if (this.isMobile) { return new _utilsErrorHandler.CommandError('chooseFile command is not supported on mobile platforms'); } return new _Promise(function (resolve, reject) { _fs2['default'].exists(localPath, function (exists) { /* istanbul ignore next */ if (!exists) { return reject(new _utilsErrorHandler.CommandError('File to upload does not exists on your system')); } _this.uploadFile(localPath).then(function (res) { return this.addValue(selector, res.value); }).then(resolve, reject); }); }); }; exports['default'] = chooseFile; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9jaG9vc2VGaWxlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFjZSxJQUFJOzs7O2lDQUNVLHVCQUF1Qjs7QUFFcEQsSUFBSSxVQUFVLEdBQUcsU0FBYixVQUFVLENBQWEsUUFBUSxFQUFFLFNBQVMsRUFBRTs7Ozs7O0FBSTVDLFFBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFO0FBQy9CLGVBQU8sb0NBQWlCLGtFQUFrRSxDQUFDLENBQUE7S0FDOUY7Ozs7O0FBS0QsUUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2YsZUFBTyxvQ0FBaUIseURBQXlELENBQUMsQ0FBQTtLQUNyRjs7QUFFRCxXQUFPLGFBQVksVUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFLO0FBQ3BDLHdCQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBQyxNQUFNLEVBQUs7O0FBRTdCLGdCQUFJLENBQUMsTUFBTSxFQUFFO0FBQ1QsdUJBQU8sTUFBTSxDQUFDLG9DQUFpQiwrQ0FBK0MsQ0FBQyxDQUFDLENBQUE7YUFDbkY7O0FBRUQsa0JBQUssVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRTtBQUMzQyx1QkFBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDNUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDM0IsQ0FBQyxDQUFBO0tBQ0wsQ0FBQyxDQUFBO0NBQ0wsQ0FBQTs7cUJBRWMsVUFBVSIsImZpbGUiOiJjaG9vc2VGaWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogR2l2ZW4gYSBzZWxlY3RvciBjb3JyZXNwb25kaW5nIHRvIGFuIGA8aW5wdXQgdHlwZT1maWxlPmAsIHdpbGwgdXBsb2FkIHRoZSBsb2NhbFxuICogZmlsZSB0byB0aGUgYnJvd3NlciBtYWNoaW5lIGFuZCBmaWxsIHRoZSBmb3JtIGFjY29yZGluZ2x5LiBJdCBkb2VzIG5vdCBzdWJtaXRcbiAqIHRoZSBmb3JtIGZvciB5b3UuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHNlbGVjdG9yICAgaW5wdXQgZWxlbWVudFxuICogQHBhcmFtIHtTdHJpbmd9IGxvY2FsUGF0aCAgbG9jYWwgcGF0aCB0byBmaWxlIHRvIGJlIHVwbG9hZGVkXG4gKlxuICogQHVzZXMgdXRpbGl0eS91cGxvYWRGaWxlLCBhY3Rpb24vYWRkVmFsdWVcbiAqIEB0eXBlIHV0aWxpdHlcbiAqXG4gKi9cblxuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHsgQ29tbWFuZEVycm9yIH0gZnJvbSAnLi4vdXRpbHMvRXJyb3JIYW5kbGVyJ1xuXG5sZXQgY2hvb3NlRmlsZSA9IGZ1bmN0aW9uIChzZWxlY3RvciwgbG9jYWxQYXRoKSB7XG4gICAgLyohXG4gICAgICogcGFyYW1ldGVyIGNoZWNrXG4gICAgICovXG4gICAgaWYgKHR5cGVvZiBsb2NhbFBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZEVycm9yKCdudW1iZXIgb3IgdHlwZSBvZiBhcmd1bWVudHMgZG9uXFwndCBhZ3JlZSB3aXRoIGNob29zZUZpbGUgY29tbWFuZCcpXG4gICAgfVxuXG4gICAgLyohXG4gICAgICogbW9iaWxlIGNoZWNrXG4gICAgICovXG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kRXJyb3IoJ2Nob29zZUZpbGUgY29tbWFuZCBpcyBub3Qgc3VwcG9ydGVkIG9uIG1vYmlsZSBwbGF0Zm9ybXMnKVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGZzLmV4aXN0cyhsb2NhbFBhdGgsIChleGlzdHMpID0+IHtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IENvbW1hbmRFcnJvcignRmlsZSB0byB1cGxvYWQgZG9lcyBub3QgZXhpc3RzIG9uIHlvdXIgc3lzdGVtJykpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZShsb2NhbFBhdGgpLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZFZhbHVlKHNlbGVjdG9yLCByZXMudmFsdWUpXG4gICAgICAgICAgICB9KS50aGVuKHJlc29sdmUsIHJlamVjdClcbiAgICAgICAgfSlcbiAgICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBjaG9vc2VGaWxlXG4iXX0=