label()); self::assertSame('user-a', $event->getUserId()); self::assertSame('tenant-a', $event->tenantIdentifier()); self::assertSame(['userId' => 'user-a'], $event->context()); self::assertSame(SecurityEventSeverity::INFO, $event->getSeverity()); self::assertNotInstanceOf(SecurityRequestEventInterface::class, $event); } #[Test] #[TestDox('Successful authentication requires a user ID')] public function rejectsIncompleteAuthenticationContext(): void { $this->expectException(\InvalidArgumentException::class); new AuthenticationSucceededEvent(''); } }