[MediaWiki-commits] [Gerrit] Added RepoApi tests for functions not yet tested - change (mediawiki...WikibaseJavaScriptApi)

2014-12-19 Thread WMDE
Thiemo Mättig (WMDE) has submitted this change and it was merged.

Change subject: Added RepoApi tests for functions not yet tested
..


Added RepoApi tests for functions not yet tested

Change-Id: I2e45bbfdcae0cb378a376dd9ff635e1fe080378f
---
M README.md
M tests/RepoApi.tests.js
2 files changed, 326 insertions(+), 40 deletions(-)

Approvals:
  Thiemo Mättig (WMDE): Verified; Looks good to me, approved



diff --git a/README.md b/README.md
index fcbef2c..f2f54c4 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,7 @@
  Enhancements
 * Updated code documentation to be able to generate documentation using JSDuck.
 * `wikibase.api.RepoApi` QUnit tests have been rewritten to not execute actual 
API requests anymore.
+* Added `wikibase.api.RepoApi` QUnit tests for functions not yet tested.
 
 ### Bugfixes
 * An empty `Entity` may be created by omitting the `data` parameter on 
`wikibase.api.RepoApi.createEntity()` again.
diff --git a/tests/RepoApi.tests.js b/tests/RepoApi.tests.js
index df88a68..bea05e1 100644
--- a/tests/RepoApi.tests.js
+++ b/tests/RepoApi.tests.js
@@ -112,6 +112,143 @@
assert.equal( getParam( mock.spy, 'data' ), JSON.stringify( data ) );
 } );
 
+QUnit.test( 'formatValue()', function( assert ) {
+   var mock = mockApi( 'get' );
+
+   mock.api.formatValue(
+   { datavalue: 'serialization' },
+   { option: 'option value'},
+   'data type id',
+   'output format'
+   );
+
+   assert.ok( mock.spy.calledOnce, 'Triggered API call.' );
+
+   assert.equal(
+   getParam( mock.spy, 'action' ),
+   'wbformatvalue',
+   'Verified API module being called.'
+   );
+
+   assert.equal(
+   getParam( mock.spy, 'datavalue' ),
+   JSON.stringify( { datavalue: 'serialization' } )
+   );
+   assert.equal( getParam( mock.spy, 'options' ), JSON.stringify( { 
option: 'option value'} ) );
+   assert.equal( getParam( mock.spy, 'datatype' ), 'data type id' );
+   assert.equal( getParam( mock.spy, 'generate' ), 'output format' );
+} );
+
+QUnit.test( 'getEntities()', function( assert ) {
+   var mock = mockApi( 'get' );
+
+   mock.api.getEntities(
+   ['entity id 1', 'entity id 2'],
+   ['property1', 'property2'],
+   ['language code 1', 'language code 2'],
+   ['sort property 1', 'sort property 2'],
+   'sort direction'
+   );
+
+   mock.api.getEntities(
+   'entity id',
+   'property',
+   'language code',
+   'sort property',
+   'sort direction'
+   );
+
+   assert.ok( mock.spy.calledTwice, 'Triggered API calls.' );
+
+   assert.equal(
+   getParam( mock.spy, 'action' ),
+   'wbgetentities',
+   'Verified API module being called.'
+   );
+
+   assert.equal( getParam( mock.spy, 'ids' ), 'entity id 1|entity id 2' );
+   assert.equal( getParam( mock.spy, 'props' ), 'property1|property2' );
+   assert.equal( getParam( mock.spy, 'languages' ), 'language code 
1|language code 2' );
+   assert.equal( getParam( mock.spy, 'sort' ), 'sort property 1|sort 
property 2' );
+   assert.equal( getParam( mock.spy, 'dir' ), 'sort direction' );
+
+   assert.equal( getParam( mock.spy, 'ids', 1 ), 'entity id' );
+   assert.equal( getParam( mock.spy, 'props', 1 ), 'property' );
+   assert.equal( getParam( mock.spy, 'languages', 1 ), 'language code' );
+   assert.equal( getParam( mock.spy, 'sort', 1 ), 'sort property' );
+   assert.equal( getParam( mock.spy, 'dir', 1 ), 'sort direction' );
+} );
+
+QUnit.test( 'getEntitiesByPage()', function( assert ) {
+   var mock = mockApi( 'get' );
+
+   mock.api.getEntitiesByPage(
+   ['site id 1', 'site id 2'],
+   ['title1', 'title2'],
+   ['property1', 'property2'],
+   ['language code 1', 'language code 2'],
+   ['sort property 1', 'sort property 2'],
+   'sort direction',
+   true
+   );
+
+   mock.api.getEntitiesByPage(
+   'site id',
+   'title',
+   'property',
+   'language code',
+   'sort property',
+   'sort direction',
+   false
+   );
+
+   assert.ok( mock.spy.calledTwice, 'Triggered API calls.' );
+
+   assert.equal(
+   getParam( mock.spy, 'action' ),
+   'wbgetentities',
+   'Verified API module being called.'
+   );
+
+   assert.equal( getParam( mock.spy, 'sites' ), 'site id 1|site id 2' );
+   assert.equal( getParam( mock.spy, 'titles' ), 'title1|title2' );
+   assert.equal( getParam( mock.spy, 'props' ), 'property1|property2' );
+   assert.equal( getParam( mock.spy, 'languages' ), '

[MediaWiki-commits] [Gerrit] Added RepoApi tests for functions not yet tested - change (mediawiki...WikibaseJavaScriptApi)

2014-12-04 Thread Henning Snater (Code Review)
Henning Snater has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/177509

Change subject: Added RepoApi tests for functions not yet tested
..

Added RepoApi tests for functions not yet tested

Change-Id: I2e45bbfdcae0cb378a376dd9ff635e1fe080378f
---
M tests/RepoApi.tests.js
1 file changed, 311 insertions(+), 48 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseJavaScriptApi 
refs/changes/09/177509/1

diff --git a/tests/RepoApi.tests.js b/tests/RepoApi.tests.js
index cde2b2f..2c5e7fc 100644
--- a/tests/RepoApi.tests.js
+++ b/tests/RepoApi.tests.js
@@ -112,6 +112,143 @@
assert.equal( getParam( mock.spy, 'data' ), JSON.stringify( data ) );
 } );
 
+QUnit.test( 'formatValue()', function( assert ) {
+   var mock = mockApi( 'get' );
+
+   mock.api.formatValue(
+   { datavalue: 'serialization' },
+   { option: 'option value'},
+   'data type id',
+   'output format'
+   );
+
+   assert.ok( mock.spy.calledOnce, 'Triggered API call.' );
+
+   assert.equal(
+   getParam( mock.spy, 'action' ),
+   'wbformatvalue',
+   'Verified API module being called.'
+   );
+
+   assert.equal(
+   getParam( mock.spy, 'datavalue' ),
+   JSON.stringify( { datavalue: 'serialization' } )
+   );
+   assert.equal( getParam( mock.spy, 'options' ), JSON.stringify( { 
option: 'option value'} ) );
+   assert.equal( getParam( mock.spy, 'datatype' ), 'data type id' );
+   assert.equal( getParam( mock.spy, 'generate' ), 'output format' );
+} );
+
+QUnit.test( 'getEntities()', function( assert ) {
+   var mock = mockApi( 'get' );
+
+   mock.api.getEntities(
+   ['entity id 1', 'entity id 2'],
+   ['property1', 'property2'],
+   ['language code 1', 'language code 2'],
+   ['sort property 1', 'sort property 2'],
+   'sort direction'
+   );
+
+   mock.api.getEntities(
+   'entity id',
+   'property',
+   'language code',
+   'sort property',
+   'sort direction'
+   );
+
+   assert.ok( mock.spy.calledTwice, 'Triggered API calls.' );
+
+   assert.equal(
+   getParam( mock.spy, 'action' ),
+   'wbgetentities',
+   'Verified API module being called.'
+   );
+
+   assert.equal( getParam( mock.spy, 'ids' ), 'entity id 1|entity id 2' );
+   assert.equal( getParam( mock.spy, 'props' ), 'property1|property2' );
+   assert.equal( getParam( mock.spy, 'languages' ), 'language code 
1|language code 2' );
+   assert.equal( getParam( mock.spy, 'sort' ), 'sort property 1|sort 
property 2' );
+   assert.equal( getParam( mock.spy, 'dir' ), 'sort direction' );
+
+   assert.equal( getParam( mock.spy, 'ids', 1 ), 'entity id' );
+   assert.equal( getParam( mock.spy, 'props', 1 ), 'property' );
+   assert.equal( getParam( mock.spy, 'languages', 1 ), 'language code' );
+   assert.equal( getParam( mock.spy, 'sort', 1 ), 'sort property' );
+   assert.equal( getParam( mock.spy, 'dir', 1 ), 'sort direction' );
+} );
+
+QUnit.test( 'getEntitiesByPage()', function( assert ) {
+   var mock = mockApi( 'get' );
+
+   mock.api.getEntitiesByPage(
+   ['site id 1', 'site id 2'],
+   ['title1', 'title2'],
+   ['property1', 'property2'],
+   ['language code 1', 'language code 2'],
+   ['sort property 1', 'sort property 2'],
+   'sort direction',
+   true
+   );
+
+   mock.api.getEntitiesByPage(
+   'site id',
+   'title',
+   'property',
+   'language code',
+   'sort property',
+   'sort direction',
+   false
+   );
+
+   assert.ok( mock.spy.calledTwice, 'Triggered API calls.' );
+
+   assert.equal(
+   getParam( mock.spy, 'action' ),
+   'wbgetentities',
+   'Verified API module being called.'
+   );
+
+   assert.equal( getParam( mock.spy, 'sites' ), 'site id 1|site id 2' );
+   assert.equal( getParam( mock.spy, 'titles' ), 'title1|title2' );
+   assert.equal( getParam( mock.spy, 'props' ), 'property1|property2' );
+   assert.equal( getParam( mock.spy, 'languages' ), 'language code 
1|language code 2' );
+   assert.equal( getParam( mock.spy, 'sort' ), 'sort property 1|sort 
property 2' );
+   assert.equal( getParam( mock.spy, 'dir' ), 'sort direction' );
+   assert.strictEqual( getParam( mock.spy, 'normalize' ), true );
+
+   assert.equal( getParam( mock.spy, 'sites', 1 ), 'site id' );
+   assert.equal( getParam( mock.spy, 'titles', 1 ), 'title' );
+   assert.equal( getParam( mock.spy, 'props', 1 ), 'prop