Example #1
0
 /**
  * @dataProvider provideCategoryContent
  * @covers RecentChange::newForCategorization
  */
 public function testHiddenCategoryChange($isHidden)
 {
     $categoryTitle = Title::newFromText('CategoryPage', NS_CATEGORY);
     $pageProps = $this->getMockPageProps();
     $pageProps->expects($this->once())->method('getProperties')->with($categoryTitle, 'hiddencat')->will($this->returnValue($isHidden ? [$categoryTitle->getArticleID() => ''] : []));
     $scopedOverride = PageProps::overrideInstance($pageProps);
     $rc = RecentChange::newForCategorization('0', $categoryTitle, $this->user, $this->user_comment, $this->title, $categoryTitle->getLatestRevID(), $categoryTitle->getLatestRevID(), '0', false);
     $this->assertEquals($isHidden, $rc->getParam('hidden-cat'));
     ScopedCallback::consume($scopedOverride);
 }
 public function testCategorizeTypeParameter()
 {
     $user = $this->getLoggedInTestUser();
     $subjectTarget = new TitleValue(0, 'ApiQueryWatchlistIntegrationTestPage');
     $categoryTarget = new TitleValue(NS_CATEGORY, 'ApiQueryWatchlistIntegrationTestCategory');
     $this->doPageEdits($user, [['target' => $categoryTarget, 'content' => 'Some Content', 'summary' => 'Create the category'], ['target' => $subjectTarget, 'content' => 'Some Content [[Category:ApiQueryWatchlistIntegrationTestCategory]]t', 'summary' => 'Create the page and add it to the category']]);
     $title = Title::newFromLinkTarget($subjectTarget);
     $revision = Revision::newFromTitle($title);
     $rc = RecentChange::newForCategorization($revision->getTimestamp(), Title::newFromLinkTarget($categoryTarget), $user, $revision->getComment(), $title, 0, $revision->getId(), null, false);
     $rc->save();
     $this->watchPages($user, [$subjectTarget, $categoryTarget]);
     $result = $this->doListWatchlistRequest(['wlprop' => 'title', 'wltype' => 'categorize']);
     $this->assertEquals([['type' => 'categorize', 'ns' => $categoryTarget->getNamespace(), 'title' => $this->getPrefixedText($categoryTarget)]], $this->getItemsFromApiResponse($result));
 }