Release 2.57 (#5929)
This commit is contained in:
@@ -481,6 +481,74 @@ class UserTest extends TestCase
|
||||
self::assertFalse($sut->initCanSeeAllData(true));
|
||||
}
|
||||
|
||||
public function testIsRegularUserOnly(): void
|
||||
{
|
||||
$sut = new User();
|
||||
self::assertTrue($sut->isRegularUserOnly());
|
||||
|
||||
$sut->setRoles([User::ROLE_USER]);
|
||||
self::assertTrue($sut->isRegularUserOnly());
|
||||
|
||||
$sut->addRole(User::ROLE_TEAMLEAD);
|
||||
self::assertFalse($sut->isRegularUserOnly());
|
||||
|
||||
$sut->removeRole(User::ROLE_TEAMLEAD);
|
||||
self::assertTrue($sut->isRegularUserOnly());
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#[Group('legacy')]
|
||||
public function testCanSeeUserGrantsAccessForTeamleadToRegularUserWithoutTeam(): void
|
||||
{
|
||||
$requester = new User();
|
||||
$requester->setRoles([User::ROLE_TEAMLEAD]);
|
||||
|
||||
$subject = self::userWithId(1);
|
||||
$subject->setEnabled(true);
|
||||
|
||||
self::assertTrue($subject->isRegularUserOnly());
|
||||
self::assertSame([], $subject->getTeams());
|
||||
self::assertTrue($requester->canSeeUser($subject));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#[Group('legacy')]
|
||||
public function testCanSeeUserDeniesTeamleadFallbackForRegularUserWithTeam(): void
|
||||
{
|
||||
$requester = new User();
|
||||
$requester->setRoles([User::ROLE_TEAMLEAD]);
|
||||
|
||||
$subject = self::userWithId(1);
|
||||
$subject->setEnabled(true);
|
||||
(new Team('Support'))->addUser($subject);
|
||||
|
||||
self::assertTrue($subject->isRegularUserOnly());
|
||||
self::assertNotSame([], $subject->getTeams());
|
||||
self::assertFalse($requester->canSeeUser($subject));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
#[Group('legacy')]
|
||||
public function testCanSeeUserDeniesTeamleadFallbackForNonRegularUserWithoutTeam(): void
|
||||
{
|
||||
$requester = new User();
|
||||
$requester->setRoles([User::ROLE_TEAMLEAD]);
|
||||
|
||||
$subject = self::userWithId(1);
|
||||
$subject->setEnabled(true);
|
||||
$subject->addRole(User::ROLE_ADMIN);
|
||||
|
||||
self::assertFalse($subject->isRegularUserOnly());
|
||||
self::assertSame([], $subject->getTeams());
|
||||
self::assertFalse($requester->canSeeUser($subject));
|
||||
}
|
||||
|
||||
public function testSystemAccount(): void
|
||||
{
|
||||
$sut = new User();
|
||||
@@ -703,11 +771,20 @@ class UserTest extends TestCase
|
||||
self::assertTrue($user->isPasswordRequestNonExpired(3600));
|
||||
self::assertTrue($user->isPasswordRequestNonExpired(7200));
|
||||
|
||||
$before = date_default_timezone_get();
|
||||
date_default_timezone_set('America/Los_Angeles');
|
||||
date_default_timezone_set($before);
|
||||
$user->setTimezone('America/Los_Angeles');
|
||||
|
||||
self::assertTrue($user->isPasswordRequestNonExpired(3600));
|
||||
self::assertTrue($user->isPasswordRequestNonExpired(7200));
|
||||
}
|
||||
|
||||
private static function userWithId(int $id): User
|
||||
{
|
||||
$user = new User();
|
||||
$reflection = new \ReflectionClass($user);
|
||||
$property = $reflection->getProperty('id');
|
||||
$property->setAccessible(true);
|
||||
$property->setValue($user, $id);
|
||||
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user