/** * @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)); }