From 580c3f4ffe9608d2beb56d418c68b3b112420e76 Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 10 Nov 2019 12:49:51 +0000 Subject: another bulk of composer updates (cherry picked from commit 6685381fd8db507493c3d7c1793f8c05c681bbce) --- .../wdio/test/pages/file-upload.js | 75 ++++++++++++++++++++++ .../wdio/test/specs/01-file-upload.js | 23 +++++++ 2 files changed, 98 insertions(+) create mode 100644 vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js create mode 100644 vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js (limited to 'vendor/blueimp/jquery-file-upload/wdio/test') diff --git a/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js b/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js new file mode 100644 index 000000000..dfef36394 --- /dev/null +++ b/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js @@ -0,0 +1,75 @@ +'use strict' + +/* global browser, $, $$ */ +/* eslint-disable class-methods-use-this */ + +class FileUpload { + get fileinput() { + return $('.fileinput-button input') + } + get start() { + return $('.fileupload-buttonbar .start') + } + get toggle() { + return $('.fileupload-buttonbar .toggle') + } + get remove() { + return $('.fileupload-buttonbar .delete') + } + get processing() { + return $$('.files .processing') + } + get uploads() { + return $$('.files .template-upload') + } + get downloads() { + return $$('.files .template-download') + } + get checked() { + return $$('.files .toggle:checked') + } + /** + * Opens the file upload form. + * + * @param {number} [timeout] Wait timeout + * @returns {FileUpload} FileUpload object + */ + open(timeout) { + browser.url('/') + this.fileinput.waitForExist(timeout) + return this + } + /** + * Uploads files. + * + * @param {Array} files Files to upload + * @param {number} [timeout] Wait timeout + * @returns {FileUpload} FileUpload object + */ + upload(files, timeout) { + this.fileinput.addValue(files.join('\n')) + browser.waitUntil(() => !this.processing.length, timeout) + this.start.click() + browser.waitUntil(() => !!this.downloads.length, timeout) + browser.waitUntil(() => !this.uploads.length, timeout) + return this + } + /** + * Deletes uploaded files. + * + * @param {number} [timeout] Wait timeout + * @returns {FileUpload} FileUpload object + */ + delete(timeout) { + this.toggle.click() + browser.waitUntil( + () => this.downloads.length === this.checked.length, + timeout + ) + this.remove.click() + browser.waitUntil(() => !this.downloads.length, timeout) + return this + } +} + +module.exports = new FileUpload() diff --git a/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js b/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js new file mode 100644 index 000000000..156dcc718 --- /dev/null +++ b/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js @@ -0,0 +1,23 @@ +'use strict' + +/* global browser, describe, it */ + +const FileUpload = require('../pages/file-upload') +const assetsDir = browser.config.assetsDir + +describe('File Upload', () => { + if (!assetsDir) return + + it('uploads files', () => { + FileUpload.open().upload([ + assetsDir + 'black-80x60.gif', + assetsDir + 'white-1x2.jpg' + ]) + browser.saveAndDiffScreenshot('Files uploaded') + }) + + it('deletes files', () => { + FileUpload.open().delete() + browser.saveAndDiffScreenshot('Files deleted') + }) +}) -- cgit v1.2.3