8
0
Просмотр исходного кода

Aligned code to the new ckeditor-cloudservices package.

Maciej Bukowski 8 лет назад
Родитель
Сommit
d540fd8b5d

+ 2 - 1
packages/ckeditor5-easy-image/package.json

@@ -7,7 +7,8 @@
     "ckeditor5-feature"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor-cloudservices-core": "^0.1.0",
+    "@ckeditor/ckeditor-cloudservices-core": "^0.1.1",
+    "@ckeditor/ckeditor5-cloudservices": "^1.0.0-alpha.1",
     "@ckeditor/ckeditor5-core": "^1.0.0-alpha.1",
     "@ckeditor/ckeditor5-image": "^1.0.0-alpha.1",
     "@ckeditor/ckeditor5-upload": "^1.0.0-alpha.1"

+ 6 - 8
packages/ckeditor5-easy-image/src/cloudservicesuploadadapter.js

@@ -10,6 +10,7 @@
 import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
 import FileRepository from '@ckeditor/ckeditor5-upload/src/filerepository';
 import UploadGateway from '@ckeditor/ckeditor-cloudservices-core/src/uploadgateway/uploadgateway';
+import CloudServices from '@ckeditor/ckeditor5-cloudservices/src/cloudservices';
 
 /**
  * A plugin which enables upload to Cloud Services.
@@ -26,7 +27,7 @@ export default class CloudServicesUploadAdapter extends Plugin {
 	 * @inheritDoc
 	 */
 	static get requires() {
-		return [ FileRepository ];
+		return [ FileRepository, CloudServicesUploadAdapter._CloudServices ];
 	}
 
 	/**
@@ -36,14 +37,10 @@ export default class CloudServicesUploadAdapter extends Plugin {
 		const editor = this.editor;
 		const config = editor.config;
 
-		config.define( 'cloudServices.uploadUrl', 'https://files.cke-cs.com/upload/' );
+		const cloudServices = editor.plugins.get( CloudServicesUploadAdapter._CloudServices );
 
-		const token = config.get( 'cloudServices.token' );
-		const uploadUrl = config.get( 'cloudServices.uploadUrl' );
-
-		if ( !token || !uploadUrl ) {
-			return;
-		}
+		const token = cloudServices.token;
+		const uploadUrl = cloudServices.uploadUrl || 'https://files.cke-cs.com/upload/';
 
 		this._uploadGateway = new CloudServicesUploadAdapter._UploadGateway( token, uploadUrl );
 
@@ -82,6 +79,7 @@ class Adapter {
 // Store the API in static property to easily overwrite it in tests.
 // Too bad dependency injection does not work in Webpack + ES 6 (const) + Babel.
 CloudServicesUploadAdapter._UploadGateway = UploadGateway;
+CloudServicesUploadAdapter._CloudServices = CloudServices;
 
 /**
  * The configuration of the {@link module:easy-image/cloudservicesuploadadapter~CloudServicesUploadAdapter Cloud Services upload adapter}.

+ 10 - 22
packages/ckeditor5-easy-image/tests/cloudservicesuploadadapter.js

@@ -8,11 +8,14 @@
 import ClassicTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/classictesteditor';
 import CloudServicesUploadAdapter from '../src/cloudservicesuploadadapter';
 import FileRepository from '@ckeditor/ckeditor5-upload/src/filerepository';
+
 import UploadGatewayMock from './_utils/uploadgatewaymock';
 import { createNativeFileMock } from '@ckeditor/ckeditor5-upload/tests/_utils/mocks';
+import CloudServicesMock from '@ckeditor/ckeditor5-cloudservices/tests/_utils/cloudservicesmock';
 
 // Store original uploader.
 const CSUploader = CloudServicesUploadAdapter._UploadGateway;
+const CloudServices = CloudServicesUploadAdapter._CloudServices;
 
 describe( 'CloudServicesUploadAdapter', () => {
 	let div;
@@ -20,11 +23,13 @@ describe( 'CloudServicesUploadAdapter', () => {
 	before( () => {
 		// Mock uploader.
 		CloudServicesUploadAdapter._UploadGateway = UploadGatewayMock;
+		CloudServicesUploadAdapter._CloudServices = CloudServicesMock;
 	} );
 
 	after( () => {
 		// Restore original uploader.
 		CloudServicesUploadAdapter._UploadGateway = CSUploader;
+		CloudServicesUploadAdapter._CloudServices = CloudServices;
 	} );
 
 	beforeEach( () => {
@@ -44,48 +49,31 @@ describe( 'CloudServicesUploadAdapter', () => {
 				.create( div, {
 					plugins: [ CloudServicesUploadAdapter ],
 					cloudServices: {
-						token: 'abc',
+						tokenUrl: 'abc',
 						uploadUrl: 'http://upload.mock.url/'
 					}
 				} )
 				.then( editor => {
-					expect( UploadGatewayMock.lastToken ).to.equal( 'abc' );
+					expect( UploadGatewayMock.lastToken.value ).to.equal( 'token' );
 					expect( UploadGatewayMock.lastUploadUrl ).to.equal( 'http://upload.mock.url/' );
 
 					return editor.destroy();
 				} );
 		} );
 
-		it( 'should not set loader if there is no token', () => {
-			UploadGatewayMock.lastToken = undefined;
-
-			return ClassicTestEditor
-				.create( div, {
-					plugins: [ CloudServicesUploadAdapter ]
-				} )
-				.then( editor => {
-					expect( UploadGatewayMock.lastToken ).to.be.an( 'undefined' );
-
-					return editor.destroy();
-				} );
-		} );
-
-		it( 'should set the default config.cloudServices.uploadUrl', () => {
+		it( 'should set the default uploadUrl', () => {
 			const expectedDefaultUrl = 'https://files.cke-cs.com/upload/';
 
 			return ClassicTestEditor
 				.create( div, {
 					plugins: [ CloudServicesUploadAdapter ],
 					cloudServices: {
-						token: 'abc'
+						tokenUrl: 'abc'
 					}
 				} )
 				.then( editor => {
-					expect( UploadGatewayMock.lastToken ).to.equal( 'abc' );
 					expect( UploadGatewayMock.lastUploadUrl ).to.equal( expectedDefaultUrl );
 
-					expect( editor.config.get( 'cloudServices.uploadUrl' ) ).to.equal( expectedDefaultUrl );
-
 					return editor.destroy();
 				} );
 		} );
@@ -98,7 +86,7 @@ describe( 'CloudServicesUploadAdapter', () => {
 			return ClassicTestEditor.create( div, {
 				plugins: [ CloudServicesUploadAdapter ],
 				cloudServices: {
-					token: 'abc',
+					tokenUrl: 'abc',
 					uploadUrl: 'http://upload.mock.url/'
 				}
 			} ).then( _editor => {

+ 12 - 0
packages/ckeditor5-easy-image/tests/easyimage.js

@@ -14,7 +14,19 @@ import UploadGatewayMock from './_utils/uploadgatewaymock';
 import { createNativeFileMock } from '@ckeditor/ckeditor5-upload/tests/_utils/mocks';
 import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
 
+import CloudServicesMock from '@ckeditor/ckeditor5-cloudservices/tests/_utils/cloudservicesmock';
+
+const CloudServices = CloudServicesUploadAdapter._CloudServices;
+
 describe( 'EasyImage', () => {
+	before( () => {
+		CloudServicesUploadAdapter._CloudServices = CloudServicesMock;
+	} );
+
+	after( () => {
+		CloudServicesUploadAdapter._CloudServices = CloudServices;
+	} );
+
 	it( 'should require other plugins', () => {
 		const plugins = EasyImage.requires;
 

+ 2 - 2
packages/ckeditor5-easy-image/tests/manual/easyimage.js

@@ -13,11 +13,11 @@ import ArticlePluginSet from '@ckeditor/ckeditor5-core/tests/_utils/articleplugi
 import getToken from '../_utils/gettoken';
 
 getToken()
-	.then( token => {
+	.then( tokenUrl => {
 		return ClassicEditor
 			.create( document.querySelector( '#editor' ), {
 				cloudServices: {
-					token
+					tokenUrl
 				},
 				plugins: [ ArticlePluginSet, EasyImage ],
 				toolbar: [ 'headings', 'undo', 'redo', 'insertImage' ],