|
@@ -3,16 +3,28 @@
|
|
|
* For licensing, see LICENSE.md.
|
|
* For licensing, see LICENSE.md.
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * Returns object that mocks native File object.
|
|
|
|
|
+ */
|
|
|
export const createNativeFileMock = () => ( {
|
|
export const createNativeFileMock = () => ( {
|
|
|
type: 'image/jpeg',
|
|
type: 'image/jpeg',
|
|
|
size: 1024
|
|
size: 1024
|
|
|
} );
|
|
} );
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * AdapterMock class.
|
|
|
|
|
+ * Simulates adapter behaviour without any server-side communications.
|
|
|
|
|
+ */
|
|
|
export class AdapterMock {
|
|
export class AdapterMock {
|
|
|
constructor( loader ) {
|
|
constructor( loader ) {
|
|
|
this.loader = loader;
|
|
this.loader = loader;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Starts mocked upload process.
|
|
|
|
|
+ *
|
|
|
|
|
+ * @returns {Promise}
|
|
|
|
|
+ */
|
|
|
upload() {
|
|
upload() {
|
|
|
return new Promise( ( resolve, reject ) => {
|
|
return new Promise( ( resolve, reject ) => {
|
|
|
this._resolveCallback = resolve;
|
|
this._resolveCallback = resolve;
|
|
@@ -24,45 +36,82 @@ export class AdapterMock {
|
|
|
} );
|
|
} );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Aborts reading.
|
|
|
|
|
+ */
|
|
|
abort() {
|
|
abort() {
|
|
|
this._rejectCallback( 'aborted' );
|
|
this._rejectCallback( 'aborted' );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Allows to mock error during file upload.
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param { Object } error
|
|
|
|
|
+ */
|
|
|
mockError( error ) {
|
|
mockError( error ) {
|
|
|
this._rejectCallback( error );
|
|
this._rejectCallback( error );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Allows to mock file upload success.
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param { Object } data Mock data returned from server passed to resolved promise.
|
|
|
|
|
+ */
|
|
|
mockSuccess( data ) {
|
|
mockSuccess( data ) {
|
|
|
this._resolveCallback( data );
|
|
this._resolveCallback( data );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Allows to mock file upload progress.
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param {Number} uploaded Bytes uploaded.
|
|
|
|
|
+ * @param {Number} total Total bytes to upload.
|
|
|
|
|
+ */
|
|
|
mockProgress( uploaded, total ) {
|
|
mockProgress( uploaded, total ) {
|
|
|
this.loader.uploaded = uploaded;
|
|
this.loader.uploaded = uploaded;
|
|
|
this.loader.uploadTotal = total;
|
|
this.loader.uploadTotal = total;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * NativeFileReaderMock class.
|
|
|
|
|
+ * Simulates FileReader behaviour.
|
|
|
|
|
+ */
|
|
|
export class NativeFileReaderMock {
|
|
export class NativeFileReaderMock {
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Mock method used to initialize reading.
|
|
|
|
|
+ */
|
|
|
readAsDataURL() {}
|
|
readAsDataURL() {}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Aborts reading process.
|
|
|
|
|
+ */
|
|
|
abort() {
|
|
abort() {
|
|
|
- this.mockAbort();
|
|
|
|
|
|
|
+ this.onabort();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Allows to mock file reading success.
|
|
|
|
|
+ * @param {*} result File reading result.
|
|
|
|
|
+ */
|
|
|
mockSuccess( result ) {
|
|
mockSuccess( result ) {
|
|
|
this.result = result;
|
|
this.result = result;
|
|
|
this.onload();
|
|
this.onload();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Allows to mock error during file read.
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param { Object } error
|
|
|
|
|
+ */
|
|
|
mockError( error ) {
|
|
mockError( error ) {
|
|
|
this.error = error;
|
|
this.error = error;
|
|
|
this.onerror();
|
|
this.onerror();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- mockAbort() {
|
|
|
|
|
- this.onabort();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Allows to mock file upload progress.
|
|
|
|
|
+ */
|
|
|
mockProgress( progress ) {
|
|
mockProgress( progress ) {
|
|
|
this.onprogress( { loaded: progress } );
|
|
this.onprogress( { loaded: progress } );
|
|
|
}
|
|
}
|