User: Add unit tests for getId, isAnon and isLoggedIn
authorTimo Tijhof <krinklemail@gmail.com>
Thu, 2 Apr 2015 01:15:50 +0000 (02:15 +0100)
committerKrinkle <krinklemail@gmail.com>
Thu, 2 Apr 2015 07:13:54 +0000 (07:13 +0000)
Change-Id: Ie007d9da47df871f99ca19c4d7364f46f71c255b

tests/phpunit/includes/UserTest.php

index 73e5051..b74a7ea 100644 (file)
@@ -397,4 +397,32 @@ class UserTest extends MediaWikiTestCase {
                $sixth = User::newFromName( 'EqualUnitTestUser' );
                $this->assertTrue( $fifth->equals( $sixth ) );
        }
+
+       /**
+        * @covers User::getId
+        */
+       public function testGetId() {
+               $user = User::newFromName( 'UTSysop' );
+               $this->assertTrue( $user->getId() > 0 );
+
+       }
+
+       /**
+        * @covers User::isLoggedIn
+        * @covers User::isAnon
+        */
+       public function testLoggedIn() {
+               $user = User::newFromName( 'UTSysop' );
+               $this->assertTrue( $user->isLoggedIn() );
+               $this->assertFalse( $user->isAnon() );
+
+               // Non-existent users are perceived as anonymous
+               $user = User::newFromName( 'UTNonexistent' );
+               $this->assertFalse( $user->isLoggedIn() );
+               $this->assertTrue( $user->isAnon() );
+
+               $user = new User;
+               $this->assertFalse( $user->isLoggedIn() );
+               $this->assertTrue( $user->isAnon() );
+       }
 }