Thiemo Mättig (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/363367 )

Change subject: Make MediaInfoFieldDefinitions test independent from 
Wikibase.git code
......................................................................

Make MediaInfoFieldDefinitions test independent from Wikibase.git code

Tests on this extension are currently failing, because this test was
testing an implementation detail from the two classes it used, but these
classes are in the Wikibase.git code repository.

I needed to remove the specific implementations from the interface to
make this code testable. Note that MediaInfoFieldDefinitions really does
not need to know anything about the implementations. All it needs is the
one method in the interface.

Change-Id: Iea59b8ab0e6324bfa8f62b7dae74c0cc3da1bdf5
---
M src/Search/MediaInfoFieldDefinitions.php
M tests/phpunit/mediawiki/Search/MediaInfoFieldDefinitionsTest.php
2 files changed, 20 insertions(+), 14 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseMediaInfo 
refs/changes/67/363367/1

diff --git a/src/Search/MediaInfoFieldDefinitions.php 
b/src/Search/MediaInfoFieldDefinitions.php
index 0490f7f..c68857b 100644
--- a/src/Search/MediaInfoFieldDefinitions.php
+++ b/src/Search/MediaInfoFieldDefinitions.php
@@ -2,9 +2,7 @@
 
 namespace Wikibase\MediaInfo\Search;
 
-use Wikibase\Repo\Search\Elastic\Fields\DescriptionsProviderFieldDefinitions;
 use Wikibase\Repo\Search\Elastic\Fields\FieldDefinitions;
-use Wikibase\Repo\Search\Elastic\Fields\LabelsProviderFieldDefinitions;
 use Wikibase\Repo\Search\Elastic\Fields\StatementCountField;
 use Wikibase\Repo\Search\Elastic\Fields\WikibaseIndexField;
 
@@ -15,18 +13,18 @@
 class MediaInfoFieldDefinitions implements FieldDefinitions {
 
        /**
-        * @var LabelsProviderFieldDefinitions
+        * @var FieldDefinitions
         */
        private $labelsProviderFieldDefinitions;
 
        /**
-        * @var DescriptionsProviderFieldDefinitions
+        * @var FieldDefinitions
         */
        private $descriptionsProviderFieldDefinitions;
 
        public function __construct(
-               LabelsProviderFieldDefinitions $labelsProviderFieldDefinitions,
-               DescriptionsProviderFieldDefinitions 
$descriptionsProviderFieldDefinitions
+               FieldDefinitions $labelsProviderFieldDefinitions,
+               FieldDefinitions $descriptionsProviderFieldDefinitions
        ) {
                $this->labelsProviderFieldDefinitions = 
$labelsProviderFieldDefinitions;
                $this->descriptionsProviderFieldDefinitions = 
$descriptionsProviderFieldDefinitions;
diff --git a/tests/phpunit/mediawiki/Search/MediaInfoFieldDefinitionsTest.php 
b/tests/phpunit/mediawiki/Search/MediaInfoFieldDefinitionsTest.php
index f6bebca..2351cf5 100644
--- a/tests/phpunit/mediawiki/Search/MediaInfoFieldDefinitionsTest.php
+++ b/tests/phpunit/mediawiki/Search/MediaInfoFieldDefinitionsTest.php
@@ -4,8 +4,7 @@
 
 use PHPUnit_Framework_TestCase;
 use Wikibase\MediaInfo\Search\MediaInfoFieldDefinitions;
-use Wikibase\Repo\Search\Elastic\Fields\DescriptionsProviderFieldDefinitions;
-use Wikibase\Repo\Search\Elastic\Fields\LabelsProviderFieldDefinitions;
+use Wikibase\Repo\Search\Elastic\Fields\FieldDefinitions;
 
 /**
  * @license GPL-2.0+
@@ -14,17 +13,26 @@
 class MediaInfoFieldDefinitionsTest extends PHPUnit_Framework_TestCase {
 
        public function testGetFields() {
-               $languageCodes = [ 'ar', 'de', 'es' ];
+               $labelsProviderFieldDefinitions = $this->getMock( 
FieldDefinitions::class );
+               $labelsProviderFieldDefinitions->method( 'getFields' )
+                       ->willReturn( [
+                               'test_only_labels' => null,
+                       ] );
+
+               $descriptionsProviderFieldDefinitions = $this->getMock( 
FieldDefinitions::class );
+               $descriptionsProviderFieldDefinitions->method( 'getFields' )
+                       ->willReturn( [
+                               'test_only_descriptions' => null,
+                       ] );
 
                $mediaInfoFieldDefinitions = new MediaInfoFieldDefinitions(
-                       new LabelsProviderFieldDefinitions( $languageCodes ),
-                       new DescriptionsProviderFieldDefinitions( 
$languageCodes )
+                       $labelsProviderFieldDefinitions,
+                       $descriptionsProviderFieldDefinitions
                );
 
                $expectedKeys = [
-                       'label_count',
-                       'labels',
-                       'labels_all',
+                       'test_only_labels',
+                       'test_only_descriptions',
                        'statement_count'
                ];
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iea59b8ab0e6324bfa8f62b7dae74c0cc3da1bdf5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseMediaInfo
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to