Soeren.oldag has submitted this change and it was merged.

Change subject: now saving  additional information correctly for violation
......................................................................


now saving  additional information correctly for violation

Change-Id: I917d1ca0656e40601b3e17235363925035f8c7b2
---
M includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php
M tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php
2 files changed, 12 insertions(+), 2 deletions(-)

Approvals:
  Soeren.oldag: Verified; Looks good to me, approved



diff --git 
a/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php 
b/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php
index 453bb12..d392c74 100755
--- a/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php
+++ b/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php
@@ -2,6 +2,7 @@
 
 namespace WikidataQuality\ExternalValidation\CrossCheck\Result;
 
+use DataValues\Serializers\DataValueSerializer;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataModel\Entity\Entity;
@@ -33,9 +34,16 @@
             $constraintClaimGuid = md5( $constraintClaimGuid );
             $revisionId = $this->getRevisionIdForEntity( $entityId );
             $status = CrossCheckResult::STATUS_DATA_MISMATCH;
+
+            $serializer = new DataValueSerializer();
+            $externalValues = 
$crossCheckResult->getCompareResult()->getExternalValues();
+            $externalValuesSerialized = array();
+            foreach( $externalValues as $externalValue ){
+                $externalValuesSerialized[] = $serializer->serialize( 
$externalValue );
+            }
             $additionalInformation = array(
                 'dump_id' => 
$crossCheckResult->getDumpMetaInformation()->getDumpId(),
-                'external_values' => 
$crossCheckResult->getCompareResult()->getExternalValues()
+                'external_values' => $externalValuesSerialized
 
             );
             $additionalInformation = json_encode( $additionalInformation );
diff --git 
a/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php 
b/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php
index 43d15d9..2299b25 100755
--- 
a/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php
+++ 
b/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php
@@ -2,6 +2,7 @@
 
 namespace WikidataQuality\ExternalValidation\Test\CrossCheck\Result;
 
+use DataValues\StringValue;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataModel\Entity\ItemId;
@@ -92,7 +93,7 @@
     public function testSingleViolationResult() {
         $compareResult = new CompareResult(
             $this->getDataValueMock(),
-            array( $this->getDataValueMock() ),
+            array( new StringValue( 'test' ) ),
             true
         );
 
@@ -106,6 +107,7 @@
         $this->assertEquals( $this->claimGuid, $violation->getClaimGuid() );
         $this->assertEquals( md5( 
$this->dumpMetaInformation->getImportDate()->format( 'YmdHis' ) . 
$this->dumpMetaInformation->getSourceItemId() ), 
$violation->getConstraintClaimGuid() );
         $this->assertEquals( $this->dumpMetaInformation->getSourceItemId(), 
$violation->getConstraintTypeEntityId() );
+        $this->assertEquals( 
'{"dump_id":"foo","external_values":[{"value":"test","type":"string"}]}', 
$violation->getAdditionalInfo() );
 
     }
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I917d1ca0656e40601b3e17235363925035f8c7b2
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/WikidataQualityExternalValidation
Gerrit-Branch: master
Gerrit-Owner: Dominic.sauer <dominic.sa...@yahoo.de>
Gerrit-Reviewer: Soeren.oldag <soeren_ol...@freenet.de>

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

Reply via email to