Skip to content

Commit

Permalink
fixed rules array bug
Browse files Browse the repository at this point in the history
  • Loading branch information
mtrajano committed Apr 2, 2018
1 parent 7865169 commit 63453a1
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/Parameters/BodyParameterGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public function getParameters()
];

foreach ($this->rules as $param => $rule) {
$paramRules = explode('|', $rule);
$paramRules = $this->splitRules($rule);

if ($this->isParamRequired($paramRules)) {
$required[] = $param;
Expand Down
9 changes: 9 additions & 0 deletions src/Parameters/ParameterGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,13 @@ protected function isParamRequired(array $paramRules)
{
return in_array('required', $paramRules);
}

protected function splitRules($rules)
{
if (is_string($rules)) {
return explode('|', $rules);
} else {
return $rules;
}
}
}
2 changes: 1 addition & 1 deletion src/Parameters/QueryParameterGenerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public function getParameters()
$params = [];

foreach ($this->rules as $param => $rule) {
$paramRules = explode('|', $rule);
$paramRules = $this->splitRules($rule);

$params[] = [
'in' => $this->getParamLocation(),
Expand Down
15 changes: 15 additions & 0 deletions tests/Parameters/QueryParameterGeneratorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

class QueryParameterGeneratorTest extends TestCase
{

public function testRequiredParameter()
{
$queryParameters = $this->getQueryParameters([
Expand All @@ -21,6 +22,20 @@ public function testRequiredParameter()
], $queryParameters[0]);
}

public function testRulesAsArray()
{
$queryParameters = $this->getQueryParameters([
'id' => ['integer', 'required'],
]);

$this->assertArraySubset([
'in' => 'query',
'type' => 'integer',
'name' => 'id',
'required' => true,
], $queryParameters[0]);
}

public function testOptionalParameter()
{
$queryParameters = $this->getQueryParameters([
Expand Down

0 comments on commit 63453a1

Please sign in to comment.