setOwner($user); } public function testVoteRequestServiceVoterUserNotLoggedAccessDenied(): void { $voter = new ProductVoter(); $subject = $this->createProduct(); $user = $subject->getOwner(); $token = new UsernamePasswordToken($user, 'main', $user->getRoles()); self::assertSame(VoterInterface::ACCESS_DENIED, $voter->vote($token, $subject, [ProductVoter::BORROW])); self::assertSame(VoterInterface::ACCESS_GRANTED, $voter->vote($token, $subject, [ProductVoter::EDIT])); self::assertSame(VoterInterface::ACCESS_GRANTED, $voter->vote($token, $subject, [ProductVoter::DUPLICATE])); $otherUser = new User(); $token = new UsernamePasswordToken($otherUser, 'main', $otherUser->getRoles()); self::assertSame(VoterInterface::ACCESS_GRANTED, $voter->vote($token, $subject, [ProductVoter::BORROW])); self::assertSame(VoterInterface::ACCESS_DENIED, $voter->vote($token, $subject, [ProductVoter::EDIT])); self::assertSame(VoterInterface::ACCESS_DENIED, $voter->vote($token, $subject, [ProductVoter::DUPLICATE])); } }