Jonaskeutel has uploaded a new change for review.

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

Change subject: add TL factory + adopted tests
......................................................................

add TL factory + adopted tests

Change-Id: Ibf4f9aab9924842ef89103c707b34930f0b3d9c6
---
M includes/Constraint.php
D includes/ConstraintCheck/CheckerMapBuilder.php
M includes/ConstraintCheck/Result/CheckResult.php
D includes/ConstraintParameterMap.php
A includes/ConstraintReportFactory.php
M specials/SpecialConstraintReport.php
D tests/phpunit/ConstraintParameterMapTest.php
R tests/phpunit/ConstraintReportFactoryTest.php
M tests/phpunit/DelegatingConstraintCheckerTest.php
M tests/phpunit/EvaluateConstraintReportJobServiceTest.php
M tests/phpunit/Specials/SpecialConstraintReportTest.php
11 files changed, 219 insertions(+), 181 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikidataQualityConstraints
 refs/changes/63/210063/1

diff --git a/includes/Constraint.php b/includes/Constraint.php
index 4e89ec8..4588351 100644
--- a/includes/Constraint.php
+++ b/includes/Constraint.php
@@ -15,7 +15,7 @@
        public function __construct( $constraintEntry ) {
                $this->constraintTypeQid = 
$constraintEntry->constraint_type_qid;
 
-               $parameterMap = ConstraintParameterMap::getMap();
+               $parameterMap = 
ConstraintReportFactory::getDefaultInstance()->getConstraintParameterMap();
                $constraintParameter = array();
                $jsonParameter = json_decode( 
$constraintEntry->constraint_parameters );
                $helper = new ConstraintReportHelper();
diff --git a/includes/ConstraintCheck/CheckerMapBuilder.php 
b/includes/ConstraintCheck/CheckerMapBuilder.php
deleted file mode 100644
index 90f324e..0000000
--- a/includes/ConstraintCheck/CheckerMapBuilder.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-namespace WikidataQuality\ConstraintReport\ConstraintCheck;
-
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\CommonsLinkChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\FormatChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\OneOfChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifierChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\RangeChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TypeChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ConflictsWithChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifiersChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TargetRequiredClaimChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ItemChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MandatoryQualifiersChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SymmetricChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\InverseChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\DiffWithinRangeChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SingleValueChecker;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MultiValueChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\UniqueValueChecker;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConnectionCheckerHelper;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\RangeCheckerHelper;
-use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper;
-
-
-/**
- * Builds a map that maps from the constraint name
- * to its corresponding checker
- *
- * @package WikidataQuality\ConstraintReport\ConstraintCheck
- * @author BP2014N1
- * @license GNU GPL v2+
- */
-class CheckerMapBuilder {
-
-       /**
-        * @var CheckerMapBuilder
-        */
-       private $checkerMap;
-
-       public function __construct( $lookup, $constraintReportHelper ) {
-               $connectionCheckerHelper = new ConnectionCheckerHelper();
-               $rangeCheckerHelper = new RangeCheckerHelper();
-               $typeCheckerHelper = new TypeCheckerHelper( $lookup );
-
-               $map = array(
-                       'Conflicts with' => new ConflictsWithChecker( $lookup, 
$constraintReportHelper, $connectionCheckerHelper ),
-                       'Item' => new ItemChecker( $lookup, 
$constraintReportHelper, $connectionCheckerHelper ),
-                       'Target required claim' => new 
TargetRequiredClaimChecker( $lookup, $constraintReportHelper, 
$connectionCheckerHelper ),
-                       'Symmetric' => new SymmetricChecker( $lookup, 
$constraintReportHelper, $connectionCheckerHelper ),
-                       'Inverse' => new InverseChecker( $lookup, 
$constraintReportHelper, $connectionCheckerHelper ),
-                       'Qualifier' => new QualifierChecker( 
$constraintReportHelper ),
-                       'Qualifiers' => new QualifiersChecker( 
$constraintReportHelper ),
-                       'Mandatory qualifiers' => new 
MandatoryQualifiersChecker( $constraintReportHelper ),
-                       'Range' => new RangeChecker( $constraintReportHelper, 
$rangeCheckerHelper ),
-                       'Diff within range' => new DiffWithinRangeChecker( 
$constraintReportHelper, $rangeCheckerHelper ),
-                       'Type' => new TypeChecker( $lookup, 
$constraintReportHelper, $typeCheckerHelper ),
-                       'Value type' => new ValueTypeChecker( $lookup, 
$constraintReportHelper, $typeCheckerHelper ),
-                       'Single value' => new SingleValueChecker(),
-                       'Multi value' => new MultiValueChecker(),
-                       'Unique value' => new UniqueValueChecker(),
-                       'Format' => new FormatChecker( $constraintReportHelper 
),
-                       'Commons link' => new CommonsLinkChecker( 
$constraintReportHelper ),
-                       'One of' => new OneOfChecker( $constraintReportHelper ),
-               );
-               $this->checkerMap = $map;
-       }
-
-       public function getCheckerMap() {
-               return $this->checkerMap;
-       }
-
-}
\ No newline at end of file
diff --git a/includes/ConstraintCheck/Result/CheckResult.php 
b/includes/ConstraintCheck/Result/CheckResult.php
old mode 100755
new mode 100644
diff --git a/includes/ConstraintParameterMap.php 
b/includes/ConstraintParameterMap.php
deleted file mode 100644
index cf0d4ed..0000000
--- a/includes/ConstraintParameterMap.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace WikidataQuality\ConstraintReport;
-
-
-class ConstraintParameterMap {
-
-       /**
-        * Maps the constraint name to an array of parameters they need to have
-        *
-        * @return array
-        */
-       static function getMap() {
-               return array(
-                       'Commons link' => array( 'namespace' ),
-                       'Conflicts with' => array( 'property', 'item' ),
-                       'Diff within range' => array( 'property', 
'minimum_quantity', 'maximum_quantity' ),
-                       'Format' => array( 'pattern' ),
-                       'Inverse' => array( 'property' ),
-                       'Item' => array( 'property', 'item' ),
-                       'Mandatory qualifiers' => array( 'property' ),
-                       'Multi value' => array(),
-                       'One of' => array( 'item' ),
-                       'Qualifier' => array(),
-                       'Qualifiers' => array( 'property' ),
-                       'Range' => array( 'minimum_quantity', 
'maximum_quantity', 'minimum_date', 'maximum_date' ),
-                       'Single value' => array(),
-                       'Symmetric' => array(),
-                       'Target required claim' => array( 'property', 'item' ),
-                       'Type' => array( 'class', 'relation' ),
-                       'Unique value' => array(),
-                       'Value type' => array( 'class', 'relation' )
-               );
-       }
-}
\ No newline at end of file
diff --git a/includes/ConstraintReportFactory.php 
b/includes/ConstraintReportFactory.php
new file mode 100644
index 0000000..0925a78
--- /dev/null
+++ b/includes/ConstraintReportFactory.php
@@ -0,0 +1,161 @@
+<?php
+
+namespace WikidataQuality\ConstraintReport;
+
+
+use Wikibase\Repo\WikibaseRepo;
+use Wikibase\Lib\Store\EntityLookup;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\CommonsLinkChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\FormatChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\OneOfChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifierChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\RangeChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TypeChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ConflictsWithChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifiersChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TargetRequiredClaimChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ItemChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MandatoryQualifiersChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SymmetricChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\InverseChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\DiffWithinRangeChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SingleValueChecker;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MultiValueChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\UniqueValueChecker;
+use 
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConnectionCheckerHelper;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\RangeCheckerHelper;
+use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper;
+
+
+class ConstraintReportFactory {
+
+       /**
+        * @var constraintRepository
+        */
+       private $constraintRepository;
+
+       /**
+        * @var array
+        */
+       private $constraintCheckerMap;
+
+       /**
+        * @var DelegatingConstraintChecker
+        */
+       private $delegatingConstraintChecker;
+
+       /**
+        * @var EntityLookup
+        */
+       private $lookup;
+
+       /**
+        * @var array
+        */
+       private $constraintParameterMap;
+
+       /**
+        * Returns the default instance.
+        * IMPORTANT: Use only when it is not feasible to inject an instance 
properly.
+        *
+        * @return ConstraintReportFactory
+        */
+       public static function getDefaultInstance() {
+               static $instance = null;
+
+               if ( $instance === null ) {
+                       $instance = new self( 
WikibaseRepo::getDefaultInstance()->getEntityLookup() );
+               }
+
+               return $instance;
+       }
+
+       public function __construct( $lookup ) {
+               $this->lookup = $lookup;
+       }
+
+       /**
+        * @return DelegatingConstraintChecker
+        */
+       public function getConstraintChecker() {
+               if ( $this->delegatingConstraintChecker === null ) {
+                       $this->delegatingConstraintChecker = new 
DelegatingConstraintChecker( $this->lookup, $this->getConstraintCheckerMap( 
$this->lookup ) );
+               }
+
+               return $this->delegatingConstraintChecker;
+       }
+
+       /**
+        * @return array
+        */
+       public function getConstraintCheckerMap(){
+               if ( $this->constraintCheckerMap === null ) {
+                       $constraintReportHelper = new ConstraintReportHelper();
+                       $connectionCheckerHelper = new 
ConnectionCheckerHelper();
+                       $rangeCheckerHelper = new RangeCheckerHelper();
+                       $typeCheckerHelper = new TypeCheckerHelper( 
$this->lookup );
+
+                       $this->constraintCheckerMap = array(
+                               'Conflicts with' => new ConflictsWithChecker( 
$this->lookup, $constraintReportHelper, $connectionCheckerHelper ),
+                               'Item' => new ItemChecker( $this->lookup, 
$constraintReportHelper, $connectionCheckerHelper ),
+                               'Target required claim' => new 
TargetRequiredClaimChecker( $this->lookup, $constraintReportHelper, 
$connectionCheckerHelper ),
+                               'Symmetric' => new SymmetricChecker( 
$this->lookup, $constraintReportHelper, $connectionCheckerHelper ),
+                               'Inverse' => new InverseChecker( $this->lookup, 
$constraintReportHelper, $connectionCheckerHelper ),
+                               'Qualifier' => new QualifierChecker( 
$constraintReportHelper ),
+                               'Qualifiers' => new QualifiersChecker( 
$constraintReportHelper ),
+                               'Mandatory qualifiers' => new 
MandatoryQualifiersChecker( $constraintReportHelper ),
+                               'Range' => new RangeChecker( 
$constraintReportHelper, $rangeCheckerHelper ),
+                               'Diff within range' => new 
DiffWithinRangeChecker( $constraintReportHelper, $rangeCheckerHelper ),
+                               'Type' => new TypeChecker( $this->lookup, 
$constraintReportHelper, $typeCheckerHelper ),
+                               'Value type' => new ValueTypeChecker( 
$this->lookup, $constraintReportHelper, $typeCheckerHelper ),
+                               'Single value' => new SingleValueChecker(),
+                               'Multi value' => new MultiValueChecker(),
+                               'Unique value' => new UniqueValueChecker(),
+                               'Format' => new FormatChecker( 
$constraintReportHelper ),
+                               'Commons link' => new CommonsLinkChecker( 
$constraintReportHelper ),
+                               'One of' => new OneOfChecker( 
$constraintReportHelper ),
+                       );
+               }
+
+               return $this->constraintCheckerMap;
+       }
+
+       public function getConstraintParameterMap() {
+               if ( $this->constraintParameterMap === null ) {
+                       $this->constraintParameterMap = array(
+                               'Commons link' => array( 'namespace' ),
+                               'Conflicts with' => array( 'property', 'item' ),
+                               'Diff within range' => array( 'property', 
'minimum_quantity', 'maximum_quantity' ),
+                               'Format' => array( 'pattern' ),
+                               'Inverse' => array( 'property' ),
+                               'Item' => array( 'property', 'item' ),
+                               'Mandatory qualifiers' => array( 'property' ),
+                               'Multi value' => array(),
+                               'One of' => array( 'item' ),
+                               'Qualifier' => array(),
+                               'Qualifiers' => array( 'property' ),
+                               'Range' => array( 'minimum_quantity', 
'maximum_quantity', 'minimum_date', 'maximum_date' ),
+                               'Single value' => array(),
+                               'Symmetric' => array(),
+                               'Target required claim' => array( 'property', 
'item' ),
+                               'Type' => array( 'class', 'relation' ),
+                               'Unique value' => array(),
+                               'Value type' => array( 'class', 'relation' )
+                       );
+               }
+
+               return $this->constraintParameterMap;
+       }
+
+       public function getConstraintRepository() {
+               if ( $this->constraintRepository === null ) {
+                       $this->constraintRepository = new ConstraintRepository( 
CONSTRAINT_TABLE );
+               }
+
+               return $this->constraintRepository;
+       }
+
+}
\ No newline at end of file
diff --git a/specials/SpecialConstraintReport.php 
b/specials/SpecialConstraintReport.php
old mode 100755
new mode 100644
index d585c6d..af6b92d
--- a/specials/SpecialConstraintReport.php
+++ b/specials/SpecialConstraintReport.php
@@ -30,6 +30,7 @@
 use WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder;
 use 
WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker;
 use 
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper;
+use WikidataQuality\ConstraintReport\ConstraintReportFactory;
 use WikidataQuality\ConstraintReport\EvaluateConstraintReportJob;
 use WikidataQuality\ConstraintReport\EvaluateConstraintReportJobService;
 use WikidataQuality\Html\HtmlTable;
@@ -337,11 +338,7 @@
         */
        protected function executeCheck( Entity $entity ) {
 
-               $constraintReportHelper = new ConstraintReportHelper();
-               $checkerMapBuilder = new CheckerMapBuilder( 
$this->entityLookup, $constraintReportHelper );
-               $checkerMap = $checkerMapBuilder->getCheckerMap();
-
-               $constraintChecker = new DelegatingConstraintChecker( 
$this->entityLookup, $checkerMap );
+               $constraintChecker = 
ConstraintReportFactory::getDefaultInstance()->getConstraintChecker();
                $results = $constraintChecker->checkAgainstConstraints( $entity 
);
 
                $this->doEvaluation( $entity, $results );
diff --git a/tests/phpunit/ConstraintParameterMapTest.php 
b/tests/phpunit/ConstraintParameterMapTest.php
deleted file mode 100644
index 9023bf0..0000000
--- a/tests/phpunit/ConstraintParameterMapTest.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-namespace WikidataQuality\ConstraintReport\Tests;
-
-use WikidataQuality\ConstraintReport\ConstraintParameterMap;
-
-
-/**
- * @covers WikidataQuality\ConstraintReport\ConstraintParameterMap
- *
- * @author BP2014N1
- * @license GNU GPL v2+
- */
-class ConstraintParameterMapTest extends \MediaWikiTestCase {
-
-       public function testGetMap() {
-               $map = ConstraintParameterMap::getMap();
-               $this->assertEquals( array( 'pattern' ), $map['Format'] );
-       }
-
-}
diff --git a/tests/phpunit/CheckerMapBuilderTest.php 
b/tests/phpunit/ConstraintReportFactoryTest.php
similarity index 63%
rename from tests/phpunit/CheckerMapBuilderTest.php
rename to tests/phpunit/ConstraintReportFactoryTest.php
index 10bfa7c..52c1b52 100644
--- a/tests/phpunit/CheckerMapBuilderTest.php
+++ b/tests/phpunit/ConstraintReportFactoryTest.php
@@ -1,14 +1,12 @@
 <?php
 
-namespace WikidataQuality\ConstraintReport\Test\ConstraintChecker;
+namespace WikidataQuality\ConstraintReport\Test;
 
-use WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder;
-use 
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper;
-use WikidataQuality\Tests\Helper\JsonFileEntityLookup;
+use WikidataQuality\ConstraintReport\ConstraintReportFactory;
 
 
 /**
- * @covers WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder
+ * @covers WikidataQuality\ConstraintReport\ConstraintReportFactory
  *
  * @uses   
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper
  * @uses   
WikidataQuality\ConstraintReport\ConstraintCheck\Checker\RangeChecker
@@ -33,43 +31,55 @@
  * @author BP2014N1
  * @license GNU GPL v2+
  */
-class CheckerMapBuilderTest extends \MediaWikiTestCase {
-
-       private $checkerMap;
-
-       protected function setUp() {
-               parent::setUp();
-               $lookup = new JsonFileEntityLookup( __DIR__ );
-               $this->checkerMap = new CheckerMapBuilder( $lookup, new 
ConstraintReportHelper() );
-
-       }
-
-       protected function tearDown() {
-               unset( $this->checkerMap );
-               parent::tearDown();
-       }
+class ConstraintReportFactoryTest extends \MediaWikiTestCase {
 
        public function testGetCheckerMap() {
-               $map = $this->checkerMap->getCheckerMap();
+               $map = 
ConstraintReportFactory::getDefaultInstance()->getConstraintCheckerMap();
                $classPrefix = 
'WikidataQuality\\ConstraintReport\\ConstraintCheck\\Checker\\';
-               $this->assertEquals( $classPrefix . 'SingleValueChecker', 
get_class( $map['Single value'] ) );
-               $this->assertEquals( $classPrefix . 'MultiValueChecker', 
get_class( $map['Multi value'] ) );
-               $this->assertEquals( $classPrefix . 'UniqueValueChecker', 
get_class( $map['Unique value'] ) );
-               $this->assertEquals( $classPrefix . 'SymmetricChecker', 
get_class( $map['Symmetric'] ) );
-               $this->assertEquals( $classPrefix . 'InverseChecker', 
get_class( $map['Inverse'] ) );
-               $this->assertEquals( $classPrefix . 'ItemChecker', get_class( 
$map['Item'] ) );
-               $this->assertEquals( $classPrefix . 'ConflictsWithChecker', 
get_class( $map['Conflicts with'] ) );
-               $this->assertEquals( $classPrefix . 
'TargetRequiredClaimChecker', get_class( $map['Target required claim'] ) );
-               $this->assertEquals( $classPrefix . 'TypeChecker', get_class( 
$map['Type'] ) );
-               $this->assertEquals( $classPrefix . 'ValueTypeChecker', 
get_class( $map['Value type'] ) );
-               $this->assertEquals( $classPrefix . 'OneOfChecker', get_class( 
$map['One of'] ) );
-               $this->assertEquals( $classPrefix . 'CommonsLinkChecker', 
get_class( $map['Commons link'] ) );
-               $this->assertEquals( $classPrefix . 'FormatChecker', get_class( 
$map['Format'] ) );
-               $this->assertEquals( $classPrefix . 'RangeChecker', get_class( 
$map['Range'] ) );
-               $this->assertEquals( $classPrefix . 'DiffWithinRangeChecker', 
get_class( $map['Diff within range'] ) );
-               $this->assertEquals( $classPrefix . 'QualifierChecker', 
get_class( $map['Qualifier'] ) );
-               $this->assertEquals( $classPrefix . 'QualifiersChecker', 
get_class( $map['Qualifiers'] ) );
-               $this->assertEquals( $classPrefix . 
'MandatoryQualifiersChecker', get_class( $map['Mandatory qualifiers'] ) );
+               $this->assertEquals( $classPrefix . 'SingleValueChecker', 
get_class( $map[ 'Single value' ] ) );
+               $this->assertEquals( $classPrefix . 'MultiValueChecker', 
get_class( $map[ 'Multi value' ] ) );
+               $this->assertEquals( $classPrefix . 'UniqueValueChecker', 
get_class( $map[ 'Unique value' ] ) );
+               $this->assertEquals( $classPrefix . 'SymmetricChecker', 
get_class( $map[ 'Symmetric' ] ) );
+               $this->assertEquals( $classPrefix . 'InverseChecker', 
get_class( $map[ 'Inverse' ] ) );
+               $this->assertEquals( $classPrefix . 'ItemChecker', get_class( 
$map[ 'Item' ] ) );
+               $this->assertEquals( $classPrefix . 'ConflictsWithChecker', 
get_class( $map[ 'Conflicts with' ] ) );
+               $this->assertEquals( $classPrefix . 
'TargetRequiredClaimChecker', get_class( $map[ 'Target required claim' ] ) );
+               $this->assertEquals( $classPrefix . 'TypeChecker', get_class( 
$map[ 'Type' ] ) );
+               $this->assertEquals( $classPrefix . 'ValueTypeChecker', 
get_class( $map[ 'Value type' ] ) );
+               $this->assertEquals( $classPrefix . 'OneOfChecker', get_class( 
$map[ 'One of' ] ) );
+               $this->assertEquals( $classPrefix . 'CommonsLinkChecker', 
get_class( $map[ 'Commons link' ] ) );
+               $this->assertEquals( $classPrefix . 'FormatChecker', get_class( 
$map[ 'Format' ] ) );
+               $this->assertEquals( $classPrefix . 'RangeChecker', get_class( 
$map[ 'Range' ] ) );
+               $this->assertEquals( $classPrefix . 'DiffWithinRangeChecker', 
get_class( $map[ 'Diff within range' ] ) );
+               $this->assertEquals( $classPrefix . 'QualifierChecker', 
get_class( $map[ 'Qualifier' ] ) );
+               $this->assertEquals( $classPrefix . 'QualifiersChecker', 
get_class( $map[ 'Qualifiers' ] ) );
+               $this->assertEquals( $classPrefix . 
'MandatoryQualifiersChecker', get_class( $map[ 'Mandatory qualifiers' ] ) );
+       }
+
+       public function testGetMap() {
+               $map = 
ConstraintReportFactory::getDefaultInstance()->getConstraintParameterMap();
+               $this->assertEquals( array( 'pattern' ), $map['Format'] );
+       }
+
+       public function testGetDefaultInstance() {
+               $this->assertInstanceOf(
+                       
'WikidataQuality\ConstraintReport\ConstraintReportFactory',
+                       ConstraintReportFactory::getDefaultInstance()
+               );
+       }
+
+       public function testGetConstraintRepository() {
+               $this->assertInstanceOf(
+                       'WikidataQuality\ConstraintReport\ConstraintRepository',
+                       
ConstraintReportFactory::getDefaultInstance()->getConstraintRepository()
+               );
+       }
+
+       public function testGetConstraintChecker() {
+               $this->assertInstanceOf(
+                       
'WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker',
+                       
ConstraintReportFactory::getDefaultInstance()->getConstraintChecker()
+               );
        }
 
 }
\ No newline at end of file
diff --git a/tests/phpunit/DelegatingConstraintCheckerTest.php 
b/tests/phpunit/DelegatingConstraintCheckerTest.php
index 353c519..f64d9e3 100644
--- a/tests/phpunit/DelegatingConstraintCheckerTest.php
+++ b/tests/phpunit/DelegatingConstraintCheckerTest.php
@@ -6,6 +6,7 @@
 use WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder;
 use 
WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker;
 use 
WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper;
+use WikidataQuality\ConstraintReport\ConstraintReportFactory;
 use WikidataQuality\Tests\Helper\JsonFileEntityLookup;
 
 
@@ -46,8 +47,8 @@
        protected function setUp() {
                parent::setUp();
                $this->lookup = new JsonFileEntityLookup( __DIR__ );
-               $checkerMap = new CheckerMapBuilder( $this->lookup, new 
ConstraintReportHelper() );
-               $this->constraintChecker = new DelegatingConstraintChecker( 
$this->lookup, $checkerMap->getCheckerMap() );
+               $factory = new ConstraintReportFactory( $this->lookup );
+               $this->constraintChecker = $factory->getConstraintChecker();
 
                // specify database tables used by this test
                $this->tablesUsed[ ] = CONSTRAINT_TABLE;
diff --git a/tests/phpunit/EvaluateConstraintReportJobServiceTest.php 
b/tests/phpunit/EvaluateConstraintReportJobServiceTest.php
index e6fba53..adb2cde 100644
--- a/tests/phpunit/EvaluateConstraintReportJobServiceTest.php
+++ b/tests/phpunit/EvaluateConstraintReportJobServiceTest.php
@@ -16,8 +16,6 @@
 /**
  * @covers WikidataQuality\ConstraintReport\EvaluateConstraintReportJobService
  *
- * @group Database
- *
  * @uses   WikidataQuality\ConstraintReport\ConstraintCheck\Result\CheckResult
  * @uses   
WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker
  *
@@ -54,7 +52,7 @@
                $results[] = new CheckResult( $statement, 
$this->constraintName, array (), 'yet another one' );
                $this->results = $results;
 
-               $this->params = array( 'entity' => $this->entity, 
'referenceTimestamp' => null, 'results' => $results );
+               $this->params = array( 'entityId' => $this->entity->getId(), 
'referenceTimestamp' => null, 'results' => $results );
 
        }
 
diff --git a/tests/phpunit/Specials/SpecialConstraintReportTest.php 
b/tests/phpunit/Specials/SpecialConstraintReportTest.php
old mode 100755
new mode 100644
index e646872..c955097
--- a/tests/phpunit/Specials/SpecialConstraintReportTest.php
+++ b/tests/phpunit/Specials/SpecialConstraintReportTest.php
@@ -55,6 +55,8 @@
         */
        private static $hasSetup;
 
+       private $testLogFileName;
+       private $oldLogFileName;
 
        protected function setUp() {
                parent::setUp();

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibf4f9aab9924842ef89103c707b34930f0b3d9c6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikidataQualityConstraints
Gerrit-Branch: v1
Gerrit-Owner: Jonaskeutel <jonas.keu...@student.hpi.de>

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

Reply via email to