8
0
klicktipp-php-client/tests/integration/IntegrationTestCase.php
2025-01-05 15:28:57 +01:00

58 Zeilen
1.5 KiB
PHP

<?php
/**
* Copyright (c) D3 Data Development (Inh. Thomas Dartsch)
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*
* https://www.d3data.de
*
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
* @author D3 Data Development - Daniel Seifert <info@shopmodule.com>
* @link https://www.oxidmodule.com
*/
declare(strict_types=1);
namespace D3\KlicktippPhpClient\tests\integration;
use D3\KlicktippPhpClient\Connection;
use D3\KlicktippPhpClient\tests\TestCase;
use GuzzleHttp\Client;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use Psr\Http\Message\ResponseInterface;
/**
* @coversNothing
*/
class IntegrationTestCase extends TestCase
{
protected array $historyContainer = [];
public function getConnectionMock(ResponseInterface|array $response): Connection
{
$mock = new MockHandler(
is_array($response) ? $response : [$response]
);
$history = Middleware::history($this->historyContainer);
$handlerStack = HandlerStack::create($mock);
$handlerStack->push($history);
$client = new Client(['handler' => $handlerStack]);
$connection = new Connection('userName', 'password');
$connection->setClient($client);
return $connection;
}
protected function getHistoryContainer(): array
{
return $this->historyContainer;
}
}