26 'wgGroupPermissions' => [
36 $this->userNoGroups =
new User;
37 $this->userNoGroups->setName(
'NoGroups' );
38 $this->userNoGroups->addToDatabase();
40 $this->userTester =
new User;
41 $this->userTester->setName(
'Tester' );
42 $this->userTester->addToDatabase();
43 $this->userTester->addGroup(
'unittesters' );
44 $this->expiryTime =
wfTimestamp( TS_MW, time() + 100500 );
45 $this->userTester->addGroup(
'testwriters', $this->expiryTime );
54 $user->addToDatabase();
58 $this->assertTrue( $ugm->insert() );
59 $user->clearInstanceCache();
60 $this->assertContains(
'unittesters',
$user->getGroups() );
61 $this->assertArrayHasKey(
'unittesters',
$user->getGroupMemberships() );
62 $this->assertTrue(
$user->isAllowed(
'runtest' ) );
66 $this->assertFalse( $ugm->insert() );
69 $this->assertTrue( $ugm->insert( 2 ) );
70 $user->clearInstanceCache();
71 $this->assertContains(
'unittesters',
$user->getGroups() );
72 $this->assertArrayHasKey(
'unittesters',
$user->getGroupMemberships() );
73 $this->assertTrue(
$user->isAllowed(
'runtest' ) );
77 $user->clearInstanceCache();
78 $this->assertThat(
$user->getGroups(),
79 $this->logicalNot( $this->
contains(
'unittesters' ) ) );
80 $this->assertThat(
$user->getGroupMemberships(),
81 $this->logicalNot( $this->arrayHasKey(
'unittesters' ) ) );
82 $this->assertFalse(
$user->isAllowed(
'runtest' ) );
85 $this->assertContains(
'unittesters',
$user->getFormerGroups() );
102 $this->assertEmpty( $ugms );
105 $testerUserId = $this->userTester->getId();
107 $this->assertCount( 2, $ugms );
111 $expectedGroups = [
'unittesters',
'testwriters' ];
113 foreach ( $expectedGroups
as $group ) {
114 $this->assertArrayHasKey( $group, $ugms );
115 $this->assertEquals( $ugms[$group]->getUserId(), $testerUserId );
116 $this->assertEquals( $ugms[$group]->getGroup(), $group );
118 if ( $group ===
'unittesters' ) {
119 $this->assertNull( $ugms[$group]->getExpiry() );
120 } elseif ( $group ===
'testwriters' ) {
121 $this->assertEquals( $ugms[$group]->getExpiry(), $this->expiryTime );
134 $this->assertFalse( $ugm );
138 $this->assertFalse( $ugm );
142 $this->assertFalse( $ugm );
147 $this->assertEquals( $ugm->getUserId(), $this->userTester->getId() );
148 $this->assertEquals( $ugm->getGroup(),
'unittesters' );
149 $this->assertNull( $ugm->getExpiry() );