diff options
Diffstat (limited to 'tests/phpunit/includes/api/query/ApiQueryUserInfoTest.php')
-rw-r--r-- | tests/phpunit/includes/api/query/ApiQueryUserInfoTest.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/phpunit/includes/api/query/ApiQueryUserInfoTest.php b/tests/phpunit/includes/api/query/ApiQueryUserInfoTest.php index abbac8224488..d528aed53a2d 100644 --- a/tests/phpunit/includes/api/query/ApiQueryUserInfoTest.php +++ b/tests/phpunit/includes/api/query/ApiQueryUserInfoTest.php @@ -49,4 +49,37 @@ class ApiQueryUserInfoTest extends ApiTestCase { $queryTimestamp = $apiResult[0]['query']['userinfo']['latestcontrib']; $this->assertSame( $revisionTimestamp, $queryTimestamp ); } + + public function testCanCreateAccount() { + $params = [ + 'action' => 'query', + 'meta' => 'userinfo', + 'uiprop' => 'cancreateaccount', + ]; + $user = $this->getTestUser()->getUser(); + $apiResult = $this->doApiRequest( $params, null, false, $user ); + $this->assertArrayHasKey( 'query', $apiResult[0] ); + $this->assertArrayHasKey( 'userinfo', $apiResult[0]['query'] ); + $this->assertArrayHasKey( 'cancreateaccount', $apiResult[0]['query']['userinfo'] ); + $this->assertTrue( $apiResult[0]['query']['userinfo']['cancreateaccount'] ); + $this->assertArrayNotHasKey( 'cancreateaccounterror', $apiResult[0]['query']['userinfo'] ); + + $user = $this->getMutableTestUser()->getUser(); + $status = $this->getServiceContainer()->getBlockUserFactory()->newBlockUser( + $user, + $this->getTestSysop()->getUser(), + 'infinity', + '', + [ 'isCreateAccountBlocked' => true ] + )->placeBlock(); + if ( !$status->isGood() ) { + $this->fail( $status->getWikiText( false, false, 'en' ) ); + } + $apiResult = $this->doApiRequest( $params, null, false, $user ); + $this->assertArrayHasKey( 'query', $apiResult[0] ); + $this->assertArrayHasKey( 'userinfo', $apiResult[0]['query'] ); + $this->assertArrayHasKey( 'cancreateaccount', $apiResult[0]['query']['userinfo'] ); + $this->assertFalse( $apiResult[0]['query']['userinfo']['cancreateaccount'] ); + $this->assertArrayHasKey( 'cancreateaccounterror', $apiResult[0]['query']['userinfo'] ); + } } |