createStub(Security::class); $security->method('getUser')->willReturn($user); $provider = new MeProvider($security); $result = $provider->provide($this->createStub(Operation::class)); self::assertSame($user, $result); self::assertInstanceOf(User::class, $result); } public function testProvideThrowAccessDeniedException(): void { $user = null; $security = $this->createStub(Security::class); $security->method('getUser')->willReturn($user); $provider = new MeProvider($security); $this->expectException(AccessDeniedException::class); $this->expectExceptionMessage('User not authenticated.'); $provider->provide($this->createStub(Operation::class)); } }