Merge "Add maintenance/view.php for viewing page contents"
[lhc/web/wiklou.git] / tests / phpunit / includes / api / ApiBlockTest.php
index ffd2f5e..832a113 100644 (file)
@@ -13,11 +13,19 @@ class ApiBlockTest extends ApiTestCase {
                $this->doLogin();
        }
 
+       protected function tearDown() {
+               $block = Block::newFromTarget( 'UTApiBlockee' );
+               if ( !is_null( $block ) ) {
+                       $block->delete();
+               }
+               parent::tearDown();
+       }
+
        protected function getTokens() {
                return $this->getTokenList( self::$users['sysop'] );
        }
 
-       function addDBData() {
+       function addDBDataOnce() {
                $user = User::newFromName( 'UTApiBlockee' );
 
                if ( $user->getId() == 0 ) {
@@ -49,11 +57,11 @@ class ApiBlockTest extends ApiTestCase {
                        $this->markTestIncomplete( "No block token found" );
                }
 
-               $this->doApiRequest( array(
+               $this->doApiRequest( [
                        'action' => 'block',
                        'user' => 'UTApiBlockee',
                        'reason' => 'Some reason',
-                       'token' => $tokens['blocktoken'] ), null, false, self::$users['sysop']->getUser() );
+                       'token' => $tokens['blocktoken'] ], null, false, self::$users['sysop']->getUser() );
 
                $block = Block::newFromTarget( 'UTApiBlockee' );
 
@@ -65,16 +73,45 @@ class ApiBlockTest extends ApiTestCase {
        }
 
        /**
-        * @expectedException UsageException
-        * @expectedExceptionMessage The token parameter must be set
+        * Block by user ID
+        */
+       public function testMakeNormalBlockId() {
+               $tokens = $this->getTokens();
+               $user = User::newFromName( 'UTApiBlockee' );
+
+               if ( !$user->getId() ) {
+                       $this->markTestIncomplete( "The user UTApiBlockee does not exist." );
+               }
+
+               if ( !array_key_exists( 'blocktoken', $tokens ) ) {
+                       $this->markTestIncomplete( "No block token found" );
+               }
+
+               $data = $this->doApiRequest( [
+                       'action' => 'block',
+                       'userid' => $user->getId(),
+                       'reason' => 'Some reason',
+                       'token' => $tokens['blocktoken'] ], null, false, self::$users['sysop']->getUser() );
+
+               $block = Block::newFromTarget( 'UTApiBlockee' );
+
+               $this->assertTrue( !is_null( $block ), 'Block is valid.' );
+               $this->assertEquals( 'UTApiBlockee', (string)$block->getTarget() );
+               $this->assertEquals( 'Some reason', $block->mReason );
+               $this->assertEquals( 'infinity', $block->mExpiry );
+       }
+
+       /**
+        * @expectedException ApiUsageException
+        * @expectedExceptionMessage The "token" parameter must be set
         */
        public function testBlockingActionWithNoToken() {
                $this->doApiRequest(
-                       array(
+                       [
                                'action' => 'block',
                                'user' => 'UTApiBlockee',
                                'reason' => 'Some reason',
-                       ),
+                       ],
                        null,
                        false,
                        self::$users['sysop']->getUser()