Thiemo Mättig (WMDE) has uploaded a new change for review.

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

Change subject: Refactor last remaining usages of Entity::getClaims
......................................................................

Refactor last remaining usages of Entity::getClaims

Depracted long ago. I would like to remove it in DataModel 5.0.

Change-Id: Ia6d1beb23ded4ea1f3ec884d362a8be5992bb109
---
M repo/includes/api/EditEntity.php
M repo/tests/phpunit/includes/api/SetClaimValueTest.php
2 files changed, 20 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/37/268637/1

diff --git a/repo/includes/api/EditEntity.php b/repo/includes/api/EditEntity.php
index f7b2ca2..007fcdd 100644
--- a/repo/includes/api/EditEntity.php
+++ b/repo/includes/api/EditEntity.php
@@ -23,6 +23,7 @@
 use Wikibase\DataModel\Entity\Property;
 use Wikibase\DataModel\Entity\EntityIdParser;
 use Wikibase\DataModel\Statement\Statement;
+use Wikibase\DataModel\Statement\StatementListProvider;
 use Wikibase\DataModel\Term\FingerprintProvider;
 use Wikibase\Lib\ContentLanguages;
 use Wikibase\Lib\Store\EntityRevisionLookup;
@@ -562,9 +563,9 @@
        }
 
        /**
-        * @param Entity $entity
+        * @param EntityDocument $entity
         */
-       private function buildResult( Entity $entity ) {
+       private function buildResult( EntityDocument $entity ) {
                $builder = $this->getResultBuilder();
 
                if ( $entity instanceof FingerprintProvider ) {
@@ -579,7 +580,9 @@
                        $builder->addSiteLinkList( $entity->getSiteLinkList(), 
'entity' );
                }
 
-               $builder->addStatements( $entity->getClaims(), 'entity' );
+               if ( $entity instanceof StatementListProvider ) {
+                       $builder->addStatements( $entity->getStatements(), 
'entity' );
+               }
        }
 
        /**
diff --git a/repo/tests/phpunit/includes/api/SetClaimValueTest.php 
b/repo/tests/phpunit/includes/api/SetClaimValueTest.php
index 4cbd50d..f12c00a 100644
--- a/repo/tests/phpunit/includes/api/SetClaimValueTest.php
+++ b/repo/tests/phpunit/includes/api/SetClaimValueTest.php
@@ -8,7 +8,7 @@
 use UsageException;
 use ValueFormatters\FormatterOptions;
 use ValueFormatters\ValueFormatter;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\Property;
@@ -107,8 +107,8 @@
                        foreach ( $item->getStatements()->toArray() as 
$statement ) {
                                $value = new StringValue( 'Kittens.png' );
                                $argLists[] = array(
-                                       'entity' => $item,
-                                       'claimGuid' => $statement->getGuid(),
+                                       'entityId' => $item->getId(),
+                                       'guid' => $statement->getGuid(),
                                        'value' => $value->getArrayValue(),
                                        'expectedSummary' => 
$this->getExpectedSummary( $statement, $value )
                                );
@@ -120,11 +120,12 @@
                }
        }
 
-       public function doTestValidRequest( Entity $entity, $guid, $value, 
$expectedSummary ) {
+       public function doTestValidRequest( EntityId $entityId, $guid, $value, 
$expectedSummary ) {
                $wikibaseRepo = WikibaseRepo::getDefaultInstance();
                $entityLookup = $wikibaseRepo->getEntityLookup();
-               $obtainedEntity = $entityLookup->getEntity( $entity->getId() );
-               $claimCount = count( $obtainedEntity->getClaims() );
+               $obtainedEntity = $entityLookup->getEntity( $entityId );
+               /** @var Item $obtainedEntity */
+               $statementCount = $obtainedEntity->getStatements()->count();
 
                $params = array(
                        'action' => 'wbsetclaimvalue',
@@ -144,15 +145,19 @@
                $this->assertEquals( $value, 
$claim['mainsnak']['datavalue']['value'] );
 
                /** @var StatementListProvider $obtainedEntity */
-               $obtainedEntity = $entityLookup->getEntity( $entity->getId() );
+               $obtainedEntity = $entityLookup->getEntity( $entityId );
 
-               $page = new WikiPage( 
$wikibaseRepo->getEntityTitleLookup()->getTitleForId( $entity->getId() ) );
+               $page = new WikiPage( 
$wikibaseRepo->getEntityTitleLookup()->getTitleForId( $entityId ) );
                $generatedSummary = $page->getRevision()->getComment( 
Revision::RAW );
                $this->assertEquals( $expectedSummary, $generatedSummary, 
'Summary mismatch' );
 
                $statements = $obtainedEntity->getStatements();
 
-               $this->assertEquals( $claimCount, $statements->count(), 'Claim 
count should not change after doing a setclaimvalue request' );
+               $this->assertSame(
+                       $statementCount,
+                       $statements->count(),
+                       'Statement count should not change after doing a 
setclaimvalue request'
+               );
 
                $obtainedClaim = $statements->getFirstStatementWithGuid( $guid 
);
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia6d1beb23ded4ea1f3ec884d362a8be5992bb109
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>

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

Reply via email to