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