Improvements to RCCacheEntryFactoryTest and helper class

* pass User as argument when making the test context
* override rc_source when applicable

Change-Id: Id2094978d9f5ba962e76de7df29638e15a7547c3
This commit is contained in:
aude 2014-07-25 15:05:39 +02:00 committed by Legoktm
parent 362d7c1e83
commit 765e575aa7
2 changed files with 42 additions and 25 deletions

View file

@ -57,8 +57,6 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
}
public function editChangeProvider() {
$user = $this->testRecentChangesHelper->getTestUser();
return array(
array(
array(
@ -73,7 +71,7 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
$this->getContext(),
$this->getMessages(),
$this->testRecentChangesHelper->makeEditRecentChange(
$user,
$this->getTestUser(),
'Xyz',
5, // curid
191, // thisid
@ -113,8 +111,6 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
}
public function deleteChangeProvider() {
$user = $this->testRecentChangesHelper->getTestUser();
return array(
array(
array(
@ -127,7 +123,8 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
$this->getContext(),
$this->getMessages(),
$this->testRecentChangesHelper->makeLogRecentChange(
$user,
'delete',
$this->getTestUser(),
'Abc',
'20131103212153',
0, // counter
@ -166,8 +163,6 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
}
public function revUserDeleteProvider() {
$user = $this->testRecentChangesHelper->getTestUser();
return array(
array(
array(
@ -182,7 +177,7 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
$this->getContext(),
$this->getMessages(),
$this->testRecentChangesHelper->makeDeletedEditRecentChange(
$user,
$this->getTestUser(),
'Zzz',
'20131103212153',
191, // thisid
@ -313,8 +308,19 @@ class RCCacheEntryFactoryTest extends MediaWikiLangTestCase {
);
}
private function getTestUser() {
$user = User::newFromName( 'TestRecentChangesUser' );
if ( !$user->getId() ) {
$user->addToDatabase();
}
return $user;
}
private function getContext() {
$context = $this->testRecentChangesHelper->getTestContext();
$user = $this->getTestUser();
$context = $this->testRecentChangesHelper->getTestContext( $user );
$title = Title::newFromText( 'RecentChanges', NS_SPECIAL );
$context->setTitle( $title );

View file

@ -26,7 +26,7 @@ class TestRecentChangesHelper {
return $this->makeRecentChange( $attribs, $counter, $watchingUsers );
}
public function makeLogRecentChange( User $user, $titleText, $timestamp, $counter,
public function makeLogRecentChange( $logType, User $user, $titleText, $timestamp, $counter,
$watchingUsers
) {
$attribs = array_merge(
@ -41,8 +41,9 @@ class TestRecentChangesHelper {
'rc_new_len' => null,
'rc_type' => 3,
'rc_logid' => 25,
'rc_log_type' => 'delete',
'rc_log_action' => 'delete'
'rc_log_type' => $logType,
'rc_log_action' => $logType,
'rc_source' => 'mw.log'
)
);
@ -67,6 +68,27 @@ class TestRecentChangesHelper {
return $this->makeRecentChange( $attribs, $counter, $watchingUsers );
}
public function makeNewBotEditRecentChange( User $user, $titleText, $curid, $thisid, $lastid,
$timestamp, $counter, $watchingUsers
) {
$attribs = array_merge(
$this->getDefaultAttributes( $titleText, $timestamp ),
array(
'rc_user' => $user->getId(),
'rc_user_text' => $user->getName(),
'rc_this_oldid' => $thisid,
'rc_last_oldid' => $lastid,
'rc_cur_id' => $curid,
'rc_type' => 1,
'rc_bot' => 1,
'rc_source' => 'mw.new'
)
);
return $this->makeRecentChange( $attribs, $counter, $watchingUsers );
}
private function makeRecentChange( $attribs, $counter, $watchingUsers ) {
$change = new RecentChange();
$change->setAttribs( $attribs );
@ -101,21 +123,10 @@ class TestRecentChangesHelper {
);
}
public function getTestUser() {
$user = User::newFromName( 'TestRecentChangesUser' );
if ( !$user->getId() ) {
$user->addToDatabase();
}
return $user;
}
public function getTestContext() {
public function getTestContext( User $user ) {
$context = new RequestContext();
$context->setLanguage( Language::factory( 'en' ) );
$user = $this->getTestUser();
$context->setUser( $user );
return $context;