Skip to content

Commit d4a7eb1

Browse files
committed
test(openapi): add Parameter explode default tests
1 parent eec7d45 commit d4a7eb1

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace ApiPlatform\OpenApi\Tests\Model;
6+
7+
use ApiPlatform\OpenApi\Model\Parameter;
8+
use PHPUnit\Framework\TestCase;
9+
10+
class ParameterTest extends TestCase
11+
{
12+
public function testExplodeDefaultsTrueForFormStyle(): void
13+
{
14+
$parameter = new Parameter('test', 'query');
15+
$this->assertSame('form', $parameter->getStyle());
16+
$this->assertTrue($parameter->getExplode());
17+
}
18+
19+
public function testExplodeDefaultsTrueForCookieStyle(): void
20+
{
21+
$parameter = new Parameter('test', 'cookie');
22+
$this->assertSame('form', $parameter->getStyle());
23+
$this->assertTrue($parameter->getExplode());
24+
}
25+
26+
public function testExplodeDefaultsFalseForPathStyle(): void
27+
{
28+
$parameter = new Parameter('test', 'path');
29+
$this->assertSame('simple', $parameter->getStyle());
30+
$this->assertFalse($parameter->getExplode());
31+
}
32+
33+
public function testExplodeDefaultsFalseForHeaderStyle(): void
34+
{
35+
$parameter = new Parameter('test', 'header');
36+
$this->assertSame('simple', $parameter->getStyle());
37+
$this->assertFalse($parameter->getExplode());
38+
}
39+
40+
public function testExplicitExplodeFalseOverridesDefault(): void
41+
{
42+
$parameter = new Parameter('test', 'query', explode: false);
43+
$this->assertSame('form', $parameter->getStyle());
44+
$this->assertFalse($parameter->getExplode());
45+
}
46+
47+
public function testExplicitExplodeTrueOnSimpleStyle(): void
48+
{
49+
$parameter = new Parameter('test', 'path', explode: true);
50+
$this->assertSame('simple', $parameter->getStyle());
51+
$this->assertTrue($parameter->getExplode());
52+
}
53+
54+
public function testExplodeDefaultsTrueForExplicitFormStyle(): void
55+
{
56+
$parameter = new Parameter('test', 'path', style: 'form');
57+
$this->assertTrue($parameter->getExplode());
58+
}
59+
60+
public function testExplodeDefaultsFalseForExplicitDeepObjectStyle(): void
61+
{
62+
$parameter = new Parameter('test', 'query', style: 'deepObject');
63+
$this->assertFalse($parameter->getExplode());
64+
}
65+
}

0 commit comments

Comments
 (0)