Jeroen De Dauw has submitted this change and it was merged.

Change subject: Improve tests for ChangeOpReferenceRemove
......................................................................


Improve tests for ChangeOpReferenceRemove

Change-Id: Id2485bf07d6d7b320a1906a626e9489cd3780b42
---
M repo/tests/phpunit/includes/ChangeOp/ChangeOpReferenceRemoveTest.php
1 file changed, 36 insertions(+), 1 deletion(-)

Approvals:
  Addshore: Verified
  Jeroen De Dauw: Looks good to me, approved



diff --git 
a/repo/tests/phpunit/includes/ChangeOp/ChangeOpReferenceRemoveTest.php 
b/repo/tests/phpunit/includes/ChangeOp/ChangeOpReferenceRemoveTest.php
index 2d73314..4a6b655 100644
--- a/repo/tests/phpunit/includes/ChangeOp/ChangeOpReferenceRemoveTest.php
+++ b/repo/tests/phpunit/includes/ChangeOp/ChangeOpReferenceRemoveTest.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Test;
 
 use DataValues\StringValue;
+use InvalidArgumentException;
 use Wikibase\ChangeOp\ChangeOpReferenceRemove;
 use Wikibase\DataModel\Claim\Claims;
 use Wikibase\DataModel\Claim\Statement;
@@ -26,6 +27,22 @@
  */
 class ChangeOpReferenceRemoveTest extends \PHPUnit_Framework_TestCase {
 
+       public function invalidConstructorProvider() {
+               $args = array();
+               $args[] = array( '', '' );
+               $args[] = array( '', 'foo' );
+               $args[] = array( 'foo', '' );
+               return $args;
+       }
+
+       /**
+        * @dataProvider invalidConstructorProvider
+        * @expectedException InvalidArgumentException
+        */
+       public function testInvalidConstruct( $claimGuid, $referenceHash ) {
+               new ChangeOpReferenceRemove( $claimGuid, $referenceHash );
+       }
+
        public function changeOpRemoveProvider() {
                $snak = new PropertyValueSnak( 2754236, new StringValue( 'test' 
) );
                $args = array();
@@ -44,7 +61,24 @@
                $item->setClaims( new Claims( $claims ) );
                $referenceHash = $newReference->getHash();
                $changeOp = new ChangeOpReferenceRemove( $claimGuid, 
$referenceHash );
-               $args[] = array ( $item, $changeOp, $referenceHash );
+               $args[ 'Removing a single reference' ] = array ( $item, 
$changeOp, $referenceHash );
+
+               $item = $this->provideNewItemWithClaim( 'q346', $snak );
+               $claims = $item->getClaims();
+               /** @var Statement $claim */
+               $claim = reset( $claims );
+               $claimGuid = $claim->getGuid();
+               $snaks = new SnakList();
+               $snaks[] = new PropertyValueSnak( 78462378, new StringValue( 
'newQualifier' ) );
+               $newReference = new Reference( $snaks );
+               $references = $claim->getReferences();
+               $references->addReference( $newReference );
+               $references->addReference( $newReference );
+               $claim->setReferences( $references );
+               $item->setClaims( new Claims( $claims ) );
+               $referenceHash = $newReference->getHash();
+               $changeOp = new ChangeOpReferenceRemove( $claimGuid, 
$referenceHash );
+               $args[ 'Removing references that have the same hash' ] = array 
( $item, $changeOp, $referenceHash );
 
                return $args;
        }
@@ -59,6 +93,7 @@
        public function testApplyRemoveReference( $item, $changeOp, 
$referenceHash ) {
                $this->assertTrue( $changeOp->apply( $item ), "Applying the 
ChangeOp did not return true" );
                $claims = $item->getClaims();
+               $this->assertCount( 1, $claims, 'More than one claim returned 
on item...' );
                /** @var Statement $claim */
                $claim = reset( $claims );
                $references = $claim->getReferences();

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id2485bf07d6d7b320a1906a626e9489cd3780b42
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Addshore <addshorew...@gmail.com>
Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com>
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