Esempio n. 1
0
 /**
  * @param User   $user
  * @param string $name
  *
  * @return ApiToken
  */
 public function create(User $user, $name)
 {
     $apiToken = new ApiToken();
     $apiToken->setToken($this->generateToken());
     $apiToken->setUser($user);
     $apiToken->setName($name);
     $entityManager = $this->registry->getManager();
     $entityManager->persist($apiToken);
     $entityManager->flush();
     return $apiToken;
 }
Esempio n. 2
0
 public function testGetOrCreate()
 {
     $registry = M::mock(ManagerRegistry::class);
     $user = new User();
     $token1 = new ApiToken();
     $token1->setName('token1');
     $token2 = new ApiToken();
     $token2->setName('token2');
     $user->setApiTokens([$token1, $token2]);
     $manager = M::mock(ObjectManager::class);
     $registry->shouldReceive('getManager')->withNoArgs()->andReturn($manager);
     $manager->shouldReceive('persist')->withAnyArgs()->andReturn();
     $manager->shouldReceive('flush')->withNoArgs();
     $tm = new ApiTokenManager($registry);
     $token = $tm->getOrCreate($user, 'token3');
     $this->assertInstanceOf(ApiToken::class, $token);
     $this->assertNotSame($token1, $token);
     $this->assertNotSame($token2, $token);
     $this->assertSame($user, $token->getUser());
     $this->assertSame('token3', $token->getName());
 }