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); }