wiki.techinc.nl/tests/phpunit/unit/maintenance/PopulateUserIsTempTest.php
Bartosz Dziewoński 2cbc82edbb TempUserConfig: Deduplicate code generating match conditions
The idea is similar to the one behind TempUser\Pattern::toLikeValue(),
which has been effectively deprecated by allowing multiple patterns.

Change-Id: Iddb284bff21355deb8ceaa6925d3c2aea34d727e
2024-03-06 18:28:14 +01:00

43 lines
1.5 KiB
PHP

<?php
namespace MediaWiki\Tests\Unit\Maintenance;
use MediaWiki\User\TempUser\TempUserConfig;
use MediaWikiUnitTestCase;
use PopulateUserIsTemp;
use Wikimedia\TestingAccessWrapper;
/**
* @covers \PopulateUserIsTemp
*/
class PopulateUserIsTempTest extends MediaWikiUnitTestCase {
public function testUpdateKey() {
$objectUnderTest = TestingAccessWrapper::newFromObject( new PopulateUserIsTemp() );
$this->assertSame(
PopulateUserIsTemp::class,
$objectUnderTest->getUpdateKey(),
'The update key for the PopulateUserTemp class was not as expected.'
);
}
public function testDoDBUpdatesWhenTempAccountsDisabled() {
// Create a mock TempUserConfig object that will return false for isEnabled and not
// expect any calls to getMatchPatterns.
$mockTempUserConfig = $this->createMock( TempUserConfig::class );
$mockTempUserConfig->method( 'isEnabled' )
->willReturn( false );
$mockTempUserConfig->expects( $this->never() )
->method( 'getMatchCondition' );
// Get the object under test and set the tempUserConfig property to the mock object.
$objectUnderTest = $this->getMockBuilder( PopulateUserIsTemp::class )
->onlyMethods( [ 'initServices' ] )
->getMock();
$objectUnderTest = TestingAccessWrapper::newFromObject( $objectUnderTest );
$objectUnderTest->tempUserConfig = $mockTempUserConfig;
// Call the doDBUpdates method and assert that it returns true.
$this->assertTrue(
$objectUnderTest->doDBUpdates(),
'The doDBUpdates method did not return true as expected.'
);
}
}