diff options
Diffstat (limited to 'vendor/blueimp/jquery-file-upload/wdio/test')
-rw-r--r-- | vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js | 75 | ||||
-rw-r--r-- | vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js | 23 |
2 files changed, 98 insertions, 0 deletions
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<string>} 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') + }) +}) |