feat: demotion of user accounts via crm
This commit is contained in:
@@ -77,6 +77,47 @@ class UserTest extends TestCase
|
||||
$this->assertCount(0, $this->validate($user));
|
||||
}
|
||||
|
||||
public function testSetDisabledBlocksAndUnblocksTheAccount(): void
|
||||
{
|
||||
$user = new User();
|
||||
|
||||
$user->setDisabled(true);
|
||||
|
||||
$this->assertTrue($user->isDisabled());
|
||||
$this->assertNotNull($user->getDisabledAt());
|
||||
|
||||
$user
|
||||
->setDisabledReason('Gesperrt.')
|
||||
->setDisabledReasonInternal('Siehe Vorgang 4711.')
|
||||
->setDisabled(false)
|
||||
;
|
||||
|
||||
$this->assertFalse($user->isDisabled());
|
||||
$this->assertNull($user->getDisabledAt());
|
||||
$this->assertNull($user->getDisabledReason());
|
||||
$this->assertNull($user->getDisabledReasonInternal());
|
||||
}
|
||||
|
||||
public function testSetDisabledKeepsTheOriginalTimestampWhenTheStateIsUnchanged(): void
|
||||
{
|
||||
$disabledAt = new \DateTimeImmutable('2026-01-01 08:00:00');
|
||||
|
||||
$user = (new User())
|
||||
->setDisabledAt($disabledAt)
|
||||
->setDisabledReason('Gesperrt.')
|
||||
;
|
||||
|
||||
$user->setDisabled(true);
|
||||
|
||||
$this->assertSame($disabledAt, $user->getDisabledAt());
|
||||
$this->assertSame('Gesperrt.', $user->getDisabledReason());
|
||||
|
||||
$enabled = new User();
|
||||
$enabled->setDisabled(false);
|
||||
|
||||
$this->assertNull($enabled->getDisabledAt());
|
||||
}
|
||||
|
||||
private function validate(User $user): ConstraintViolationListInterface
|
||||
{
|
||||
return Validation::createValidatorBuilder()
|
||||
|
||||
Reference in New Issue
Block a user