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

Change subject: Tests for WikiPage::insertRedirectEntry
......................................................................


Tests for WikiPage::insertRedirectEntry

Bug: T180989
Change-Id: I677202b22594c7fc8fcf97b805ae69726945f96d
---
M tests/phpunit/includes/page/WikiPageDbTestBase.php
1 file changed, 70 insertions(+), 2 deletions(-)

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



diff --git a/tests/phpunit/includes/page/WikiPageDbTestBase.php 
b/tests/phpunit/includes/page/WikiPageDbTestBase.php
index fa48fb4..f6887dd 100644
--- a/tests/phpunit/includes/page/WikiPageDbTestBase.php
+++ b/tests/phpunit/includes/page/WikiPageDbTestBase.php
@@ -1227,12 +1227,80 @@
                 * Most of core checks the page table for redirect status, so 
we have to be ugly and
                 * assert a select from the table here.
                 */
+               $this->assertRedirectTableCountForPageId( $page->getId(), 
$expectedRowCount );
+       }
+
+       private function assertRedirectTableCountForPageId( $pageId, $expected 
) {
                $this->assertSelect(
                        'redirect',
                        'COUNT(*)',
-                       [ 'rd_from' => $page->getId() ],
-                       [ [ strval( $expectedRowCount ) ] ]
+                       [ 'rd_from' => $pageId ],
+                       [ [ strval( $expected ) ] ]
                );
        }
 
+       /**
+        * @covers WikiPage::insertRedirectEntry
+        */
+       public function testInsertRedirectEntry_insertsRedirectEntry() {
+               $page = $this->createPage( Title::newFromText( __METHOD__ ), 
'A' );
+               $this->assertRedirectTableCountForPageId( $page->getId(), 0 );
+
+               $targetTitle = Title::newFromText( 'SomeTarget#Frag' );
+               $targetTitle->mInterwiki = 'eninter';
+               $page->insertRedirectEntry( $targetTitle, null );
+
+               $this->assertSelect(
+                       'redirect',
+                       [ 'rd_from', 'rd_namespace', 'rd_title', 'rd_fragment', 
'rd_interwiki' ],
+                       [ 'rd_from' => $page->getId() ],
+                       [ [
+                               strval( $page->getId() ),
+                               strval( $targetTitle->getNamespace() ),
+                               strval( $targetTitle->getDBkey() ),
+                               strval( $targetTitle->getFragment() ),
+                               strval( $targetTitle->getInterwiki() ),
+                       ] ]
+               );
+       }
+
+       /**
+        * @covers WikiPage::insertRedirectEntry
+        */
+       public function 
testInsertRedirectEntry_insertsRedirectEntryWithPageLatest() {
+               $page = $this->createPage( Title::newFromText( __METHOD__ ), 
'A' );
+               $this->assertRedirectTableCountForPageId( $page->getId(), 0 );
+
+               $targetTitle = Title::newFromText( 'SomeTarget#Frag' );
+               $targetTitle->mInterwiki = 'eninter';
+               $page->insertRedirectEntry( $targetTitle, $page->getLatest() );
+
+               $this->assertSelect(
+                       'redirect',
+                       [ 'rd_from', 'rd_namespace', 'rd_title', 'rd_fragment', 
'rd_interwiki' ],
+                       [ 'rd_from' => $page->getId() ],
+                       [ [
+                               strval( $page->getId() ),
+                               strval( $targetTitle->getNamespace() ),
+                               strval( $targetTitle->getDBkey() ),
+                               strval( $targetTitle->getFragment() ),
+                               strval( $targetTitle->getInterwiki() ),
+                       ] ]
+               );
+       }
+
+       /**
+        * @covers WikiPage::insertRedirectEntry
+        */
+       public function 
testInsertRedirectEntry_doesNotInsertIfPageLatestIncorrect() {
+               $page = $this->createPage( Title::newFromText( __METHOD__ ), 
'A' );
+               $this->assertRedirectTableCountForPageId( $page->getId(), 0 );
+
+               $targetTitle = Title::newFromText( 'SomeTarget#Frag' );
+               $targetTitle->mInterwiki = 'eninter';
+               $page->insertRedirectEntry( $targetTitle, 215251 );
+
+               $this->assertRedirectTableCountForPageId( $page->getId(), 0 );
+       }
+
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I677202b22594c7fc8fcf97b805ae69726945f96d
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to