Lucas Werkmeister (WMDE) has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/350386 )
Change subject: Extract default configuration for tests into trait
......................................................................
Extract default configuration for tests into trait
The default values are loaded from the extension.json file.
Change-Id: I10e82cc038d20ccc133ac738ad849a1ebfd5db95
---
M tests/phpunit/Checker/TypeChecker/TypeCheckerHelperTest.php
M tests/phpunit/Checker/TypeChecker/TypeCheckerTest.php
M tests/phpunit/Checker/TypeChecker/ValueTypeCheckerTest.php
A tests/phpunit/DefaultConfig.php
M tests/phpunit/DelegatingConstraintCheckerTest.php
5 files changed, 62 insertions(+), 14 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseQualityConstraints
refs/changes/86/350386/1
diff --git a/tests/phpunit/Checker/TypeChecker/TypeCheckerHelperTest.php
b/tests/phpunit/Checker/TypeChecker/TypeCheckerHelperTest.php
index 7f21855..2b7cd0d 100644
--- a/tests/phpunit/Checker/TypeChecker/TypeCheckerHelperTest.php
+++ b/tests/phpunit/Checker/TypeChecker/TypeCheckerHelperTest.php
@@ -2,7 +2,6 @@
namespace WikibaseQuality\ConstraintReport\Test\TypeChecker;
-use HashConfig;
use PHPUnit_Framework_TestCase;
use Wikibase\DataModel\Statement\Statement;
use Wikibase\DataModel\Snak\PropertyValueSnak;
@@ -11,6 +10,7 @@
use Wikibase\DataModel\Entity\PropertyId;
use Wikibase\DataModel\Statement\StatementList;
use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper;
+use WikibaseQuality\ConstraintReport\Tests\DefaultConfig;
use WikibaseQuality\Tests\Helper\JsonFileEntityLookup;
/**
@@ -18,10 +18,14 @@
*
* @group WikibaseQualityConstraints
*
+ * @uses \WikibaseQuality\ConstraintReport\Tests\DefaultConfig
+ *
* @author BP2014N1
* @license GNU GPL v2+
*/
class TypeCheckerHelperTest extends PHPUnit_Framework_TestCase {
+
+ use DefaultConfig;
/**
* @var TypeCheckerHelper
@@ -32,7 +36,7 @@
parent::setUp();
$this->helper = new TypeCheckerHelper(
new JsonFileEntityLookup( __DIR__ ),
- new HashConfig( [ 'WBQualityConstraintsInstanceOfId' =>
'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] )
+ $this->getDefaultConfig()
);
}
diff --git a/tests/phpunit/Checker/TypeChecker/TypeCheckerTest.php
b/tests/phpunit/Checker/TypeChecker/TypeCheckerTest.php
index fd844cb..a97089e 100644
--- a/tests/phpunit/Checker/TypeChecker/TypeCheckerTest.php
+++ b/tests/phpunit/Checker/TypeChecker/TypeCheckerTest.php
@@ -2,7 +2,6 @@
namespace WikibaseQuality\ConstraintReport\Test\TypeChecker;
-use HashConfig;
use Wikibase\DataModel\Statement\Statement;
use Wikibase\DataModel\Snak\PropertyValueSnak;
use Wikibase\DataModel\Entity\EntityIdValue;
@@ -12,6 +11,7 @@
use WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\TypeChecker;
use
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser;
use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper;
+use WikibaseQuality\ConstraintReport\Tests\DefaultConfig;
use WikibaseQuality\Tests\Helper\JsonFileEntityLookup;
/**
@@ -21,11 +21,14 @@
*
* @uses \WikibaseQuality\ConstraintReport\ConstraintCheck\Result\CheckResult
* @uses
\WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser
+ * @uses \WikibaseQuality\ConstraintReport\Tests\DefaultConfig
*
* @author BP2014N1
* @license GNU GPL v2+
*/
class TypeCheckerTest extends \MediaWikiTestCase {
+
+ use DefaultConfig;
/**
* @var JsonFileEntityLookup
@@ -45,9 +48,11 @@
protected function setUp() {
parent::setUp();
$this->lookup = new JsonFileEntityLookup( __DIR__ );
- $config = new HashConfig( [ 'WBQualityConstraintsInstanceOfId'
=> 'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] );
$this->checker = new TypeChecker(
- $this->lookup, new ConstraintParameterParser(), new
TypeCheckerHelper( $this->lookup, $config ), $config
+ $this->lookup,
+ new ConstraintParameterParser(),
+ new TypeCheckerHelper( $this->lookup,
$this->getDefaultConfig() ),
+ $this->getDefaultConfig()
);
$this->typeStatement = new Statement( new PropertyValueSnak(
new PropertyId( 'P1' ), new EntityIdValue( new ItemId( 'Q42' ) ) ) );
}
diff --git a/tests/phpunit/Checker/TypeChecker/ValueTypeCheckerTest.php
b/tests/phpunit/Checker/TypeChecker/ValueTypeCheckerTest.php
index d5d3f62..1dd2536 100644
--- a/tests/phpunit/Checker/TypeChecker/ValueTypeCheckerTest.php
+++ b/tests/phpunit/Checker/TypeChecker/ValueTypeCheckerTest.php
@@ -2,7 +2,6 @@
namespace WikibaseQuality\ConstraintReport\Test\TypeChecker;
-use HashConfig;
use Wikibase\DataModel\Entity\EntityDocument;
use Wikibase\DataModel\Statement\Statement;
use Wikibase\DataModel\Snak\PropertyValueSnak;
@@ -16,6 +15,7 @@
use WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker;
use
WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser;
use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper;
+use WikibaseQuality\ConstraintReport\Tests\DefaultConfig;
use WikibaseQuality\Tests\Helper\JsonFileEntityLookup;
/**
@@ -25,11 +25,14 @@
*
* @uses \WikibaseQuality\ConstraintReport\ConstraintCheck\Result\CheckResult
* @uses
\WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser
+ * @uses \WikibaseQuality\ConstraintReport\Tests\DefaultConfig
*
* @author BP2014N1
* @license GNU GPL v2+
*/
class ValueTypeCheckerTest extends \MediaWikiTestCase {
+
+ use DefaultConfig;
/**
* @var JsonFileEntityLookup
@@ -49,9 +52,11 @@
protected function setUp() {
parent::setUp();
$this->lookup = new JsonFileEntityLookup( __DIR__ );
- $config = new HashConfig( [ 'WBQualityConstraintsInstanceOfId'
=> 'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] );
$this->checker = new ValueTypeChecker(
- $this->lookup, new ConstraintParameterParser(), new
TypeCheckerHelper( $this->lookup, $config ), $config
+ $this->lookup,
+ new ConstraintParameterParser(),
+ new TypeCheckerHelper( $this->lookup,
$this->getDefaultConfig() ),
+ $this->getDefaultConfig()
);
$this->valueTypePropertyId = new PropertyId( 'P1234' );
}
diff --git a/tests/phpunit/DefaultConfig.php b/tests/phpunit/DefaultConfig.php
new file mode 100644
index 0000000..8bb7ce1
--- /dev/null
+++ b/tests/phpunit/DefaultConfig.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace WikibaseQuality\ConstraintReport\Tests;
+
+use HashConfig;
+
+/**
+ * @author Lucas Werkmeister
+ * @license GNU GPL v2+
+ */
+trait DefaultConfig {
+
+ /**
+ * @var HashConfig
+ */
+ private $defaultConfig;
+
+ public function getDefaultConfig() {
+ if ( $this->defaultConfig === null ) {
+ $this->defaultConfig = new HashConfig();
+ $extensionJsonFile = __DIR__ . '/../../extension.json';
+ $extensionJsonText = file_get_contents(
$extensionJsonFile );
+ $extensionJson = json_decode( $extensionJsonText, /*
assoc = */ true );
+ foreach ( $extensionJson['config'] as $key => $value ) {
+ $this->defaultConfig->set( $key,
$value['value'] );
+ }
+ }
+
+ return $this->defaultConfig;
+ }
+
+}
diff --git a/tests/phpunit/DelegatingConstraintCheckerTest.php
b/tests/phpunit/DelegatingConstraintCheckerTest.php
index 0711340..0eb184a 100644
--- a/tests/phpunit/DelegatingConstraintCheckerTest.php
+++ b/tests/phpunit/DelegatingConstraintCheckerTest.php
@@ -2,12 +2,12 @@
namespace WikibaseQuality\ConstraintReport\Test\ConstraintChecker;
-use HashConfig;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\ItemIdParser;
use Wikibase\DataModel\Services\Statement\StatementGuidParser;
use
WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker;
use WikibaseQuality\ConstraintReport\ConstraintReportFactory;
+use WikibaseQuality\ConstraintReport\Tests\DefaultConfig;
use WikibaseQuality\Tests\Helper\JsonFileEntityLookup;
/**
@@ -36,11 +36,14 @@
* @uses
\WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\MandatoryQualifiersChecker
* @uses
\WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\TypeChecker
* @uses
\WikibaseQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker
+ * @uses \WikibaseQuality\ConstraintReport\Tests\DefaultConfig
*
* @author BP2014N1
* @license GNU GPL v2+
*/
class DelegatingConstraintCheckerTest extends \MediaWikiTestCase {
+
+ use DefaultConfig;
/**
* @var DelegatingConstraintChecker
@@ -61,11 +64,10 @@
parent::setUp();
$this->lookup = $this->createEntityLookup();
$this->statementGuidParser = new StatementGuidParser( new
ItemIdParser() );
- $config = new HashConfig( [ 'WBQualityConstraintsInstanceOfId'
=> 'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] );
$factory = new ConstraintReportFactory(
$this->lookup,
$this->statementGuidParser,
- $config
+ $this->getDefaultConfig()
);
$this->constraintChecker = $factory->getConstraintChecker();
@@ -293,7 +295,7 @@
$factory = new ConstraintReportFactory(
$this->createEntityLookup(),
$this->statementGuidParser,
- new HashConfig( [ 'WBQualityConstraintsInstanceOfId' =>
'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] )
+ $this->getDefaultConfig()
);
$constraintChecker = $factory->getConstraintChecker();
@@ -307,7 +309,7 @@
$factory = new ConstraintReportFactory(
$this->createEntityLookup(),
$this->statementGuidParser,
- new HashConfig( [ 'WBQualityConstraintsInstanceOfId' =>
'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] )
+ $this->getDefaultConfig()
);
$constraintChecker = $factory->getConstraintChecker();
@@ -321,7 +323,7 @@
$factory = new ConstraintReportFactory(
$this->createEntityLookup(),
$this->statementGuidParser,
- new HashConfig( [ 'WBQualityConstraintsInstanceOfId' =>
'P31', 'WBQualityConstraintsSubclassOfId' => 'P279' ] )
+ $this->getDefaultConfig()
);
$constraintChecker = $factory->getConstraintChecker();
--
To view, visit https://gerrit.wikimedia.org/r/350386
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I10e82cc038d20ccc133ac738ad849a1ebfd5db95
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseQualityConstraints
Gerrit-Branch: master
Gerrit-Owner: Lucas Werkmeister (WMDE) <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits