getCurrentUserMock($timezone)); } protected function getCurrentUserMock(?string $timezone = null) { $user = new User(); if (null !== $timezone) { $pref = new UserPreference(); $pref->setName('timezone'); $pref->setValue($timezone); $user->addPreference($pref); } $repository = $this->getMockBuilder(UserRepository::class)->setMethods(['getUserById'])->disableOriginalConstructor()->getMock(); $repository->expects(TestCase::exactly(1))->method('getUserById')->willReturn($user); $token = $this->getMockBuilder(UsernamePasswordToken::class)->setMethods(['getUser'])->disableOriginalConstructor()->getMock(); $token->expects(TestCase::exactly(1))->method('getUser')->willReturn($user); $tokenStorage = new TokenStorage(); $tokenStorage->setToken($token); return new CurrentUser($tokenStorage, $repository); } }