jenkins-bot has submitted this change and it was merged.

Change subject: Categories: Update categories code and unit tests
......................................................................


Categories: Update categories code and unit tests

* Updates categories code to remove unexecuted code
* Updates unit tests

Bug: T89641
Change-Id: I42025b94b5cb7be6d02b55f7259b64e4d8a6c7ea
---
M modules/tools/ext.cx.tools.categories.js
M tests/qunit/tools/ext.cx.tools.categories.test.js
2 files changed, 20 insertions(+), 175 deletions(-)

Approvals:
  Santhosh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/tools/ext.cx.tools.categories.js 
b/modules/tools/ext.cx.tools.categories.js
index 7db52e3..5a4cb7a 100644
--- a/modules/tools/ext.cx.tools.categories.js
+++ b/modules/tools/ext.cx.tools.categories.js
@@ -598,57 +598,22 @@
 
        /**
         * Retrieves the specified set of categories
-        * Valid sets are 'source', 'target' and 'adapted'
-        * If no set is specified, returns all three sets
         *
-        * @param {string} categorySet The set of categories to return
-        * @return {jQuery.promis}
+        * @return {jQuery.Promise}
         */
-       CXCategoryTool.prototype.getCategories = function ( categorySet ) {
+       CXCategoryTool.prototype.getCategories = function () {
                var categoryTool = this,
                        deferred = $.Deferred();
 
-               switch ( categorySet ) {
-               case 'source':
-                       this.getArticleCategories( mw.cx.sourceTitle, 
mw.cx.sourceLanguage )
-                               .done( function ( categories ) {
-                                       deferred.resolve( categories );
-                               } );
-                       break;
-               case 'adapted':
-                       this.getArticleCategories( mw.cx.sourceTitle, 
mw.cx.sourceLanguage )
-                               .done( function ( categories ) {
-                                       categoryTool.adaptCategories( 
categories, mw.cx.targetLanguage )
-                                               .done( function ( 
adaptedCategories ) {
-                                                       deferred.resolve( 
adaptedCategories );
-                                               } );
-                               } );
-                       break;
-               case 'target':
-                       if ( this.categories.target !== null ) {
-                               deferred.resolve( this.categories.target );
-                       } else {
-                               this.getArticleCategories( mw.cx.sourceTitle, 
mw.cx.sourceLanguage )
-                                       .done( function ( categories ) {
-                                               categoryTool.adaptCategories( 
categories, mw.cx.targetLanguage )
-                                                       .done( function ( 
adaptedCategories ) {
-                                                               
deferred.resolve( adaptedCategories );
-                                                       } );
+               this.getArticleCategories( mw.cx.sourceTitle, 
mw.cx.sourceLanguage )
+                       .done( function ( categories ) {
+                               categoryTool.adaptCategories( categories, 
mw.cx.targetLanguage )
+                                       .done( function () {
+                                               deferred.resolve( 
categoryTool.categories );
                                        } );
-                       }
-                       break;
-               default:
-                       this.getArticleCategories( mw.cx.sourceTitle, 
mw.cx.sourceLanguage )
-                               .done( function ( categories ) {
-                                       categoryTool.adaptCategories( 
categories, mw.cx.targetLanguage )
-                                               .done( function () {
-                                                       deferred.resolve( 
categoryTool.categories );
-                                               } );
-                               } );
-               }
+                       } );
 
                return deferred.promise();
-
        };
 
        /**
diff --git a/tests/qunit/tools/ext.cx.tools.categories.test.js 
b/tests/qunit/tools/ext.cx.tools.categories.test.js
index 3796931..ab0fa5e 100644
--- a/tests/qunit/tools/ext.cx.tools.categories.test.js
+++ b/tests/qunit/tools/ext.cx.tools.categories.test.js
@@ -12,144 +12,24 @@
                        mw.cx.siteMapper = new mw.cx.SiteMapper(
                                mw.config.get( 
'wgContentTranslationSiteTemplates' )
                        );
-                       mw.cx.sourceLanguage = 'en';
-                       mw.cx.targetLanguage = 'es';
+                       mw.cx.sourceLanguage = 'es';
+                       mw.cx.targetLanguage = 'ca';
                }
        } ) );
 
-       QUnit.test( 'Get source categories', function ( assert ) {
+       QUnit.test( 'Get categories', function ( assert ) {
+               var done, categoryTool = new mw.cx.CategoryTool( 
mw.cx.siteMapper );
+               done = assert.async();
                QUnit.expect( 3 );
 
-               function testGetSourceCategories( title ) {
-                       var deferred = $.Deferred();
-
-                       mw.cx.categoryTool = new mw.cx.CategoryTool( 
mw.cx.siteMapper );
-                       mw.cx.sourceTitle = title;
-                       mw.cx.categoryTool.getCategories( 'source' )
-                               .done( function ( categories ) {
-                                       deferred.resolve( categories );
-                               } );
-
-                       return deferred.promise();
-               }
-
-               QUnit.stop();
-               testGetSourceCategories( 'Han Fei' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 13,
-                                       'Correct number of source categories 
retrieved (13 results)'
-                               );
-                               QUnit.start();
+               mw.cx.sourceTitle = 'Han Feizi';
+               categoryTool.getCategories()
+                       .then( function () {
+                               assert.equal( Object.keys( 
categoryTool.categories.source ).length, 4 );
+                               assert.equal( Object.keys( 
categoryTool.categories.adapted ).length, 1 );
+                               assert.equal( Object.keys( 
categoryTool.categories.target ).length, 1 );
+                               done();
                        } );
-
-               QUnit.stop();
-               testGetSourceCategories( 'Han' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 1,
-                                       'Correct number of source categories 
retrieved (1 result)'
-                               );
-                               QUnit.start();
-                       } );
-
-               QUnit.stop();
-               testGetSourceCategories( 'Shen Dao' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 6,
-                                       'Correct number of source categories 
retrieved (6 results)'
-                               );
-                               QUnit.start();
-                       } );
-
-       } );
-
-       QUnit.test( 'Get adapted categories', function ( assert ) {
-               QUnit.expect( 3 );
-
-               function testGetAdaptedCategories( title ) {
-                       var deferred = $.Deferred();
-
-                       mw.cx.categoryTool = new mw.cx.CategoryTool( 
mw.cx.siteMapper );
-                       mw.cx.sourceTitle = title;
-                       mw.cx.categoryTool.getCategories( 'adapted' )
-                               .done( function ( adaptedCategories ) {
-                                       deferred.resolve( adaptedCategories );
-                               } );
-
-                       return deferred.promise();
-               }
-
-               QUnit.stop();
-               testGetAdaptedCategories( 'Han Fei' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 4,
-                                       'Correct number of adapted categories 
retrieved (4 results)'
-                               );
-                               QUnit.start();
-                       } );
-
-               QUnit.stop();
-               testGetAdaptedCategories( 'Han' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 1,
-                                       'Correct number of adapted categories 
retrieved (1 result)'
-                               );
-                               QUnit.start();
-                       } );
-
-               QUnit.stop();
-               testGetAdaptedCategories( 'Shen Dao' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 0,
-                                       'Correct number of adapted categories 
retrieved (No results)'
-                               );
-                               QUnit.start();
-                       } );
-
-       } );
-
-       QUnit.test( 'Get target categories', function ( assert ) {
-               QUnit.expect( 3 );
-
-               function testGetTargetCategories( title ) {
-                       var deferred = $.Deferred();
-
-                       mw.cx.categoryTool = new mw.cx.CategoryTool( 
mw.cx.siteMapper );
-                       mw.cx.sourceTitle = title;
-                       mw.cx.categoryTool.getCategories( 'target' )
-                               .done( function ( adaptedCategories ) {
-                                       deferred.resolve( adaptedCategories );
-                               } );
-
-                       return deferred.promise();
-               }
-
-               QUnit.stop();
-               testGetTargetCategories( 'Han Fei' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 4,
-                                       'Correct number of target categories 
retrieved (4 results)'
-                               );
-                               QUnit.start();
-                       } );
-
-               QUnit.stop();
-               testGetTargetCategories( 'Han' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 1,
-                                       'Correct number of target categories 
retrieved (1 result)'
-                               );
-                               QUnit.start();
-                       } );
-
-               QUnit.stop();
-               testGetTargetCategories( 'Shen Dao' )
-                       .done( function ( results ) {
-                               assert.equal( Object.keys( results ).length, 0,
-                                       'Correct number of target categories 
retrieved (No results)'
-                               );
-                               QUnit.start();
-                       } );
-
        } );
 
 }( jQuery, mediaWiki ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/191673
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I42025b94b5cb7be6d02b55f7259b64e4d8a6c7ea
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Jsahleen <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to