Release 2.57 (#5929)

This commit is contained in:
Kevin Papst
2026-05-21 22:14:10 +02:00
committed by GitHub
parent f0ce1c7bd6
commit 976d38e8a4
101 changed files with 4226 additions and 1119 deletions

View File

@@ -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;
}
}