Example #1
0
 public function create(Token $token)
 {
     $this->executeSql('
         INSERT INTO tokens (token_uuid, pass_code, user_uuid, expires)
              VALUES (:token_uuid, :pass_code, :user_uuid, :expires)
     ', ['token_uuid' => $token->getUuid()->getBytes(), 'pass_code' => $token->getPassCode(), 'user_uuid' => $token->getUserUuid()->getBytes(), 'expires' => $token->getExpires()->format('Y-m-d H:i:s')]);
 }
 public function it_can_insert_a_token(Token $token, \PDOStatement $statement)
 {
     $token->getUuid()->willReturn($uuid = Uuid::uuid4());
     $token->getPassCode()->willReturn($passCode = bin2hex(random_bytes(20)));
     $token->getUserUuid()->willReturn($userUuid = Uuid::uuid4());
     $token->getExpires()->willReturn($expires = new \DateTimeImmutable('+42 seconds'));
     $this->pdo->prepare(new Argument\Token\StringContainsToken('INSERT INTO tokens'))->willReturn($statement);
     $statement->execute(['token_uuid' => $uuid->getBytes(), 'pass_code' => $passCode, 'user_uuid' => $userUuid->getBytes(), 'expires' => $expires->format('Y-m-d H:i:s')])->shouldBeCalled();
     $this->create($token);
 }