jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/402878 )

Change subject: Mostly cover ChangesListHooksHandler
......................................................................


Mostly cover ChangesListHooksHandler

Bug: T184140
Change-Id: I306812039bca488ea037a0e8bcfe7b441d7179e6
---
M tests/phpunit/includes/Hooks/ChangesListHooksHandlerTest.php
1 file changed, 86 insertions(+), 49 deletions(-)

Approvals:
  Ladsgroup: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/tests/phpunit/includes/Hooks/ChangesListHooksHandlerTest.php 
b/tests/phpunit/includes/Hooks/ChangesListHooksHandlerTest.php
index 1031cc5..b55bd01 100644
--- a/tests/phpunit/includes/Hooks/ChangesListHooksHandlerTest.php
+++ b/tests/phpunit/includes/Hooks/ChangesListHooksHandlerTest.php
@@ -15,6 +15,7 @@
 use RequestContext;
 use SpecialPage;
 use User;
+use Wikimedia\TestingAccessWrapper;
 
 /**
  * @group ORES
@@ -56,13 +57,14 @@
                $this->context = self::getContext( $this->user );
        }
 
-       /**
-        * @covers ORES\Hooks\ChangesListHooksHandler::getScoreRecentChangesList
-        */
-       public function testOresRCObj() {
+       protected function makeRcEntry( $isDamaging = false ) {
                $row = new \stdClass();
                $row->ores_damaging_threshold = 0.2;
-               $row->ores_damaging_score = 0.3;
+               if ( $isDamaging ) {
+                       $row->ores_damaging_score = 0.3;
+               } else {
+                       $row->ores_damaging_score = 0.1;
+               }
                $row->rc_patrolled = 0;
                $row->rc_timestamp = '20150921134808';
                $row->rc_deleted = 0;
@@ -71,11 +73,18 @@
                $row->rc_comment_data = null;
 
                $rc = RecentChange::newFromRow( $row );
-               $this->assertTrue( 
ChangesListHooksHandler::getScoreRecentChangesList( $rc, $this->context ) );
+               return $rc;
+       }
 
-               $row->ores_damaging_threshold = 0.4;
-               $rc = RecentChange::newFromRow( $row );
-               $this->assertFalse( 
ChangesListHooksHandler::getScoreRecentChangesList( $rc, $this->context ) );
+       /**
+        * @covers ORES\Hooks\ChangesListHooksHandler::getScoreRecentChangesList
+        */
+       public function testGetScoreRecentChangesList() {
+               $this->assertTrue( 
ChangesListHooksHandler::getScoreRecentChangesList(
+                       $this->makeRcEntry( true ), $this->context ) );
+
+               $this->assertFalse( 
ChangesListHooksHandler::getScoreRecentChangesList(
+                       $this->makeRcEntry( false ), $this->context ) );
        }
 
        /**
@@ -193,16 +202,7 @@
         * @covers 
ORES\Hooks\ChangesListHooksHandler::onEnhancedChangesListModifyLineData
         */
        public function testOnEnhancedChangesListModifyLineDataDamaging() {
-               $row = new \stdClass();
-               $row->ores_damaging_threshold = 0.2;
-               $row->ores_damaging_score = 0.3;
-               $row->rc_patrolled = 0;
-               $row->rc_timestamp = '20150921134808';
-               $row->rc_deleted = 0;
-               $row->rc_comment = '';
-               $row->rc_comment_text = '';
-               $row->rc_comment_data = null;
-               $rc = RecentChange::newFromRow( $row );
+               $rc = $this->makeRcEntry( true );
                $rc = RCCacheEntry::newFromParent( $rc );
 
                $ecl = $this->getMockBuilder( EnhancedChangesList::class )
@@ -238,16 +238,7 @@
         * @covers 
ORES\Hooks\ChangesListHooksHandler::onEnhancedChangesListModifyLineData
         */
        public function testOnEnhancedChangesListModifyLineDataNonDamaging() {
-               $row = new \stdClass();
-               $row->ores_damaging_threshold = 0.4;
-               $row->ores_damaging_score = 0.3;
-               $row->rc_patrolled = 0;
-               $row->rc_timestamp = '20150921134808';
-               $row->rc_deleted = 0;
-               $row->rc_comment = '';
-               $row->rc_comment_text = '';
-               $row->rc_comment_data = null;
-               $rc = RecentChange::newFromRow( $row );
+               $rc = $this->makeRcEntry( false );
                $rc = RCCacheEntry::newFromParent( $rc );
 
                $ecl = $this->getMockBuilder( EnhancedChangesList::class )
@@ -287,16 +278,7 @@
         * @covers 
ORES\Hooks\ChangesListHooksHandler::onOldChangesListRecentChangesLine
         */
        public function testOnOldChangesListModifyLineDataDamaging() {
-               $row = new \stdClass();
-               $row->ores_damaging_threshold = 0.2;
-               $row->ores_damaging_score = 0.3;
-               $row->rc_patrolled = 0;
-               $row->rc_timestamp = '20150921134808';
-               $row->rc_deleted = 0;
-               $row->rc_comment = '';
-               $row->rc_comment_text = '';
-               $row->rc_comment_data = null;
-               $rc = RecentChange::newFromRow( $row );
+               $rc = $this->makeRcEntry( true );
                $rc = RCCacheEntry::newFromParent( $rc );
 
                $config = $this->getMockBuilder( Config::class )->getMock();
@@ -345,16 +327,7 @@
         * @covers 
ORES\Hooks\ChangesListHooksHandler::onOldChangesListRecentChangesLine
         */
        public function testOnOldChangesListModifyLineDataNonDamaging() {
-               $row = new \stdClass();
-               $row->ores_damaging_threshold = 0.4;
-               $row->ores_damaging_score = 0.3;
-               $row->rc_patrolled = 0;
-               $row->rc_timestamp = '20150921134808';
-               $row->rc_deleted = 0;
-               $row->rc_comment = '';
-               $row->rc_comment_text = '';
-               $row->rc_comment_data = null;
-               $rc = RecentChange::newFromRow( $row );
+               $rc = $this->makeRcEntry( false );
                $rc = RCCacheEntry::newFromParent( $rc );
 
                $cl = $this->getMockBuilder( ChangesList::class )
@@ -397,4 +370,68 @@
                return $context;
        }
 
+       /**
+        * @covers 
ORES\Hooks\ChangesListHooksHandler::onChangesListSpecialPageStructuredFilters
+        */
+       public function 
testOnChangesListSpecialPageStructuredFilters_Recentchangeslinked() {
+               $changesListSpecialPage = new \SpecialRecentChangesLinked();
+               $changesListSpecialPage->setContext( $this->context );
+               $wrappedClsp = TestingAccessWrapper::newFromObject( 
$changesListSpecialPage );
+               $wrappedClsp->registerFilters();
+
+               $originalFilters = $wrappedClsp->getFilterGroups();
+
+               
ChangesListHooksHandler::onChangesListSpecialPageStructuredFilters( 
$changesListSpecialPage );
+
+               $updatedFilters = $wrappedClsp->getFilterGroups();
+
+               $this->assertEquals( $originalFilters, $updatedFilters );
+       }
+
+       /**
+        * @covers 
ORES\Hooks\ChangesListHooksHandler::onChangesListSpecialPageStructuredFilters
+        */
+       public function 
testOnChangesListSpecialPageStructuredFilters_Recentchanges() {
+               $changesListSpecialPage = new \SpecialRecentChanges();
+               $changesListSpecialPage->setContext( $this->context );
+               $wrappedClsp = TestingAccessWrapper::newFromObject( 
$changesListSpecialPage );
+               $wrappedClsp->registerFilters();
+
+               
ChangesListHooksHandler::onChangesListSpecialPageStructuredFilters( 
$changesListSpecialPage );
+
+               $damagingFilterGroup = $changesListSpecialPage->getFilterGroup( 
'damaging' );
+               $this->assertNotNull( $damagingFilterGroup );
+               $maybebadFilter = $damagingFilterGroup->getFilter( 'maybebad' );
+               $this->assertNotNull( $maybebadFilter );
+
+               $goodfaithFilterGroup = 
$changesListSpecialPage->getFilterGroup( 'goodfaith' );
+               $this->assertNull( $goodfaithFilterGroup );
+       }
+
+       /**
+        * @covers 
ORES\Hooks\ChangesListHooksHandler::onEnhancedChangesListModifyBlockLineData
+        */
+       public function testOnEnhancedChangesListModifyBlockLineData() {
+               $ecl = new EnhancedChangesList( $this->context );
+               $rc = RCCacheEntry::newFromParent( $this->makeRcEntry( true ) );
+               $data = [
+                       'attribs' => [
+                               'class' => [],
+                       ],
+                       'recentChangesFlags' => [],
+               ];
+               $expected = [
+                       'attribs' => [
+                               'class' => [ 'damaging' ],
+                       ],
+                       'recentChangesFlags' => [
+                               'damaging' => true
+                       ],
+               ];
+
+               
ChangesListHooksHandler::onEnhancedChangesListModifyBlockLineData( $ecl, $data, 
$rc );
+
+               $this->assertEquals( $expected, $data );
+       }
+
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I306812039bca488ea037a0e8bcfe7b441d7179e6
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/ORES
Gerrit-Branch: master
Gerrit-Owner: Awight <awi...@wikimedia.org>
Gerrit-Reviewer: Ladsgroup <ladsgr...@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