Skip to content

Commit

Permalink
Added support for Laravel < 5.2
Browse files Browse the repository at this point in the history
  • Loading branch information
mpociot committed May 4, 2016
1 parent 589014e commit 6e7c50f
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 3 deletions.
12 changes: 9 additions & 3 deletions src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,15 @@ public function handle()
}

if ($actAs !== null) {
$userModel = config('auth.providers.users.model');
$user = $userModel::find($actAs);
$this->laravel['auth']->guard()->setUser($user);
if (version_compare($this->laravel->version(),'5.2.0', '<')) {
$userModel = config('auth.model');
$user = $userModel::find($actAs);
$this->laravel['auth']->setUser($user);
} else {
$userModel = config('auth.providers.users.model');
$user = $userModel::find($actAs);
$this->laravel['auth']->guard()->setUser($user);
}
}

$routes = Route::getRoutes();
Expand Down
31 changes: 31 additions & 0 deletions tests/ApiDocGeneratorTest.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Routing\Controller;
use Illuminate\Routing\Route;
use Mpociot\ApiDoc\ApiDocGenerator;
Expand Down Expand Up @@ -55,6 +56,21 @@ public function testCanParseRouteMethods()
$this->assertEquals(['DELETE'], $parsed['methods']);
}

public function testCanParseFormRequestRules()
{
\Illuminate\Support\Facades\Route::post('/post', 'TestController@parseFormRequestRules');
$route = new Route(['POST'], '/post', ['uses' => 'TestController@parseFormRequestRules']);
$parsed = $this->generator->processRoute($route);
$parameters = $parsed['parameters'];
$this->assertArrayHasKey('required_attribute', $parameters);

$required_attribute = $parameters['required_attribute'];

$this->assertTrue( $required_attribute['required'] );
$this->assertEquals( 'string', $required_attribute['type'] );
$this->assertCount( 0, $required_attribute['description'] );
}

}

class TestController extends Controller
Expand All @@ -76,4 +92,19 @@ public function parseMethodDescription()
return '';
}

public function parseFormRequestRules(TestRequest $request)
{
return '';
}

}

class TestRequest extends FormRequest
{
public function rules()
{
return [
'required_attribute' => 'required'
];
}
}

0 comments on commit 6e7c50f

Please sign in to comment.