William Cheng 6434c86afd
[php-nextgen] add php-nextgen client generator (#16480)
* php-nextgen first commit

* [php] Set minimal PHP version to ^8.0 (#14500)

* Set minimal PHP version to ^8.0

* Fix php-nextgen config

* Change stability to BETA

* Add phplint package (#15054)

* [php-nextgen] Rename folders to follow PDS skeleton (#15102)

* Change lib -> src, test -> tests folder

This will make build compliant to PHP-PDS skeleton.
Ref: https://github.com/php-pds/skeleton

* Refresh samples

* Exclude composer.lock from codebase (#15105)

Since client generator is library and not a project it makes sense
to exclude composer.lock from codebase by default.

Ref: http://getcomposer.org/doc/02-libraries.md#lock-file

* Add @generated tag to DocBlocks (#15106)

This tag in draft status right now(PSR-19), but I think we can leverage
from it already.

Ref: https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc-tags.md#55-generated

* update samples, doc

* update samples

---------

Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
2023-09-03 16:16:58 +08:00

37 lines
955 B
PHP

<?php
namespace OpenAPI\Client;
use OpenAPI\Client\Api\FakeApi;
use PHPUnit\Framework\TestCase;
require_once __DIR__ . '/FakeHttpClient.php';
class RequestTest extends TestCase
{
/** @var FakeApi */
private $api;
/** @var FakeHttpClient */
private $fakeClient;
public function setUp(): void
{
$this->fakeClient = new FakeHttpClient();
$this->api = new Api\FakeApi($this->fakeClient);
}
public function testFormDataEncodingToJson()
{
$this->api->testJsonFormData('value', 'value2');
$request = $this->fakeClient->getLastRequest();
$contentType = $request->getHeader('Content-Type');
$this->assertEquals(['application/x-www-form-urlencoded'], $contentType);
$requestContent = $request->getBody()->getContents();
// JSON serialization of form data is not supported
$this->assertEquals('param=value&param2=value2', $requestContent);
}
}