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

Change subject: Stop using LibSerializerFactory in GetClaimsTest
......................................................................


Stop using LibSerializerFactory in GetClaimsTest

Change-Id: Ieef15e0a2201a3a9472196563ff01c60f570eaf6
---
M repo/tests/phpunit/includes/api/GetClaimsTest.php
1 file changed, 31 insertions(+), 9 deletions(-)

Approvals:
  Jonas Kress (WMDE): Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/tests/phpunit/includes/api/GetClaimsTest.php 
b/repo/tests/phpunit/includes/api/GetClaimsTest.php
index acb9dca..a825131 100644
--- a/repo/tests/phpunit/includes/api/GetClaimsTest.php
+++ b/repo/tests/phpunit/includes/api/GetClaimsTest.php
@@ -3,22 +3,22 @@
 namespace Wikibase\Test\Repo\Api;
 
 use ApiTestCase;
+use DataValues\Serializers\DataValueSerializer;
 use DataValues\StringValue;
 use UsageException;
-use Wikibase\DataModel\Claim\Claims;
 use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\Property;
 use Wikibase\DataModel\Entity\PropertyDataTypeLookup;
 use Wikibase\DataModel\Entity\PropertyId;
+use Wikibase\DataModel\SerializerFactory;
 use Wikibase\DataModel\Snak\PropertyNoValueSnak;
 use Wikibase\DataModel\Snak\PropertySomeValueSnak;
 use Wikibase\DataModel\Snak\PropertyValueSnak;
 use Wikibase\DataModel\Statement\Statement;
+use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\DataModel\Statement\StatementListProvider;
 use Wikibase\Lib\Serializers\ClaimSerializer;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
 use Wikibase\Repo\WikibaseRepo;
 
 /**
@@ -39,6 +39,21 @@
  * @author Adam Shorland
  */
 class GetClaimsTest extends ApiTestCase {
+
+       /**
+        * @var SerializerFactory
+        */
+       private $serializerFactory;
+
+       protected function setUp() {
+               parent::setUp();
+
+               $this->serializerFactory = new SerializerFactory(
+                       new DataValueSerializer(),
+                       
SerializerFactory::OPTION_SERIALIZE_REFERENCE_SNAKS_WITHOUT_HASH +
+                       
SerializerFactory::OPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH
+               );
+       }
 
        /**
         * @param EntityDocument $entity
@@ -162,19 +177,26 @@
         * @param Statement[] $statements
         */
        public function doTestValidRequest( array $params, array $statements ) {
-               $claims = new Claims( $statements );
-               $options = new SerializationOptions();
+               $statements = new StatementList( $statements );
 
-               $serializerFactory = new LibSerializerFactory( null, 
$this->getDataTypeLookup() );
-               $serializer = $serializerFactory->newClaimsSerializer( $options 
);
-               $serializer->setOptions( $options );
-               $expected = $serializer->getSerialized( $claims );
+               $serializer = 
$this->serializerFactory->newStatementListSerializer();
+               $expected = $serializer->serialize( $statements );
 
                list( $resultArray, ) = $this->doApiRequest( $params );
 
                $this->assertInternalType( 'array', $resultArray, 'top level 
element is an array' );
                $this->assertArrayHasKey( 'claims', $resultArray, 'top level 
element has a claims key' );
 
+               // Assert that value mainsnaks have a datatype added
+               foreach ( $resultArray['claims'] as &$claimsByProperty ) {
+                       foreach ( $claimsByProperty as &$claimArray ) {
+                               if ( $claimArray['mainsnak']['snaktype'] === 
'value' ) {
+                                       $this->assertArrayHasKey( 'datatype', 
$claimArray['mainsnak'] );
+                                       unset( 
$claimArray['mainsnak']['datatype'] );
+                               }
+                       }
+               }
+
                $this->assertEquals( $expected, $resultArray['claims'] );
        }
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ieef15e0a2201a3a9472196563ff01c60f570eaf6
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Bene <benestar.wikime...@gmail.com>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: JanZerebecki <jan.wikime...@zerebecki.de>
Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com>
Gerrit-Reviewer: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to