瀏覽代碼

Use PSR4 for tests

Lucas Michot 9 年之前
父節點
當前提交
90399b50e9
共有 4 個文件被更改,包括 103 次插入85 次删除
  1. 5 0
      composer.json
  2. 19 85
      tests/ApiDocGeneratorTest.php
  3. 28 0
      tests/Fixtures/TestController.php
  4. 51 0
      tests/Fixtures/TestRequest.php

+ 5 - 0
composer.json

@@ -29,5 +29,10 @@
         "psr-0": {
             "Mpociot\\ApiDoc": "src/"
         }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "Mpociot\\ApiDoc\\Tests\\": "tests/"
+        }
     }
 }

+ 19 - 85
tests/ApiDocGeneratorTest.php

@@ -1,11 +1,15 @@
 <?php
 
+namespace Mpociot\ApiDoc\Tests;
+
 use Illuminate\Routing\Route;
-use Illuminate\Routing\Controller;
+use Orchestra\Testbench\TestCase;
 use Mpociot\ApiDoc\ApiDocGenerator;
-use Illuminate\Foundation\Http\FormRequest;
+use Mpociot\ApiDoc\Tests\Fixtures\TestRequest;
+use Mpociot\ApiDoc\Tests\Fixtures\TestController;
+use Illuminate\Support\Facades\Route as RouteFacade;
 
-class ApiDocGeneratorTest extends Orchestra\Testbench\TestCase
+class ApiDocGeneratorTest extends TestCase
 {
     /**
      * @var \Mpociot\ApiDoc\ApiDocGenerator
@@ -24,8 +28,8 @@ class ApiDocGeneratorTest extends Orchestra\Testbench\TestCase
 
     public function testCanParseMethodDescription()
     {
-        \Illuminate\Support\Facades\Route::get('/api/test', 'TestController@parseMethodDescription');
-        $route = new Route(['GET'], '/api/test', ['uses' => 'TestController@parseMethodDescription']);
+        RouteFacade::get('/api/test', TestController::class.'@parseMethodDescription');
+        $route = new Route(['GET'], '/api/test', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
 
         $this->assertSame('Example title.', $parsed['title']);
@@ -34,32 +38,32 @@ class ApiDocGeneratorTest extends Orchestra\Testbench\TestCase
 
     public function testCanParseRouteMethods()
     {
-        \Illuminate\Support\Facades\Route::get('/get', 'TestController@dummy');
-        \Illuminate\Support\Facades\Route::post('/post', 'TestController@dummy');
-        \Illuminate\Support\Facades\Route::put('/put', 'TestController@dummy');
-        \Illuminate\Support\Facades\Route::delete('/delete', 'TestController@dummy');
+        RouteFacade::get('/get', TestController::class.'@dummy');
+        RouteFacade::post('/post', TestController::class.'@dummy');
+        RouteFacade::put('/put', TestController::class.'@dummy');
+        RouteFacade::delete('/delete', TestController::class.'@dummy');
 
-        $route = new Route(['GET'], '/get', ['uses' => 'TestController@parseMethodDescription']);
+        $route = new Route(['GET'], '/get', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
         $this->assertSame(['GET', 'HEAD'], $parsed['methods']);
 
-        $route = new Route(['POST'], '/post', ['uses' => 'TestController@parseMethodDescription']);
+        $route = new Route(['POST'], '/post', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
         $this->assertSame(['POST'], $parsed['methods']);
 
-        $route = new Route(['PUT'], '/put', ['uses' => 'TestController@parseMethodDescription']);
+        $route = new Route(['PUT'], '/put', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
         $this->assertSame(['PUT'], $parsed['methods']);
 
-        $route = new Route(['DELETE'], '/delete', ['uses' => 'TestController@parseMethodDescription']);
+        $route = new Route(['DELETE'], '/delete', ['uses' => TestController::class.'@parseMethodDescription']);
         $parsed = $this->generator->processRoute($route);
         $this->assertSame(['DELETE'], $parsed['methods']);
     }
 
     public function testCanParseFormRequestRules()
     {
-        \Illuminate\Support\Facades\Route::post('/post', 'TestController@parseFormRequestRules');
-        $route = new Route(['POST'], '/post', ['uses' => 'TestController@parseFormRequestRules']);
+        RouteFacade::post('/post', TestController::class.'@parseFormRequestRules');
+        $route = new Route(['POST'], '/post', ['uses' => TestController::class.'@parseFormRequestRules']);
         $parsed = $this->generator->processRoute($route);
         $parameters = $parsed['parameters'];
 
@@ -293,73 +297,3 @@ class ApiDocGeneratorTest extends Orchestra\Testbench\TestCase
         }
     }
 }
-
-class TestController extends Controller
-{
-    public function dummy()
-    {
-        return '';
-    }
-
-    /**
-     * Example title.
-     *
-     * This will be the long description.
-     * It can also be multiple lines long.
-     */
-    public function parseMethodDescription()
-    {
-        return '';
-    }
-
-    public function parseFormRequestRules(TestRequest $request)
-    {
-        return '';
-    }
-}
-
-class TestRequest extends FormRequest
-{
-    public function rules()
-    {
-        return [
-            'required' => 'required',
-            'accepted' => 'accepted',
-            'after' => 'after:2016-04-23 14:31:00',
-            'active_url' => 'active_url',
-            'alpha' => 'alpha',
-            'alpha_dash' => 'alpha_dash',
-            'alpha_num' => 'alpha_num',
-            'array' => 'array',
-            'before' => 'before:2016-04-23 14:31:00',
-            'between' => 'between:5,200',
-            'boolean' => 'boolean',
-            'date' => 'date',
-            'date_format' => 'date_format:j.n.Y H:iP',
-            'different' => 'different:alpha_num',
-            'digits' => 'digits:2',
-            'digits_between' => 'digits_between:2,10',
-            'exists' => 'exists:users,firstname',
-            'in' => 'in:jpeg,png,bmp,gif,svg',
-            'integer' => 'integer',
-            'ip' => 'ip',
-            'json' => 'json',
-            'min' => 'min:20',
-            'max' => 'max:10',
-            'mimes' => 'mimes:jpeg,bmp,png',
-            'not_in' => 'not_in:foo,bar',
-            'numeric' => 'numeric',
-            'regex' => 'regex:(.*)',
-            'required_if' => 'required_if:foo,bar',
-            'required_unless' => 'required_unless:foo,bar',
-            'required_with' => 'required_with:foo,bar,baz',
-            'required_with_all' => 'required_with_all:foo,bar,baz',
-            'required_without' => 'required_without:foo,bar,baz',
-            'required_without_all' => 'required_without_all:foo,bar,baz',
-            'same' => 'same:foo',
-            'size' => 'size:51',
-            'timezone' => 'timezone',
-            'url' => 'url',
-        ];
-    }
-}

+ 28 - 0
tests/Fixtures/TestController.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace Mpociot\ApiDoc\Tests\Fixtures;
+
+use Illuminate\Routing\Controller;
+
+class TestController extends Controller
+{
+    public function dummy()
+    {
+        return '';
+    }
+
+    /**
+     * Example title.
+     * This will be the long description.
+     * It can also be multiple lines long.
+     */
+    public function parseMethodDescription()
+    {
+        return '';
+    }
+
+    public function parseFormRequestRules(TestRequest $request)
+    {
+        return '';
+    }
+}

+ 51 - 0
tests/Fixtures/TestRequest.php

@@ -0,0 +1,51 @@
+<?php
+
+namespace Mpociot\ApiDoc\Tests\Fixtures;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class TestRequest extends FormRequest
+{
+    public function rules()
+    {
+        return [
+            'required' => 'required',
+            'accepted' => 'accepted',
+            'after' => 'after:2016-04-23 14:31:00',
+            'active_url' => 'active_url',
+            'alpha' => 'alpha',
+            'alpha_dash' => 'alpha_dash',
+            'alpha_num' => 'alpha_num',
+            'array' => 'array',
+            'before' => 'before:2016-04-23 14:31:00',
+            'between' => 'between:5,200',
+            'boolean' => 'boolean',
+            'date' => 'date',
+            'date_format' => 'date_format:j.n.Y H:iP',
+            'different' => 'different:alpha_num',
+            'digits' => 'digits:2',
+            'digits_between' => 'digits_between:2,10',
+            'exists' => 'exists:users,firstname',
+            'in' => 'in:jpeg,png,bmp,gif,svg',
+            'integer' => 'integer',
+            'ip' => 'ip',
+            'json' => 'json',
+            'min' => 'min:20',
+            'max' => 'max:10',
+            'mimes' => 'mimes:jpeg,bmp,png',
+            'not_in' => 'not_in:foo,bar',
+            'numeric' => 'numeric',
+            'regex' => 'regex:(.*)',
+            'required_if' => 'required_if:foo,bar',
+            'required_unless' => 'required_unless:foo,bar',
+            'required_with' => 'required_with:foo,bar,baz',
+            'required_with_all' => 'required_with_all:foo,bar,baz',
+            'required_without' => 'required_without:foo,bar,baz',
+            'required_without_all' => 'required_without_all:foo,bar,baz',
+            'same' => 'same:foo',
+            'size' => 'size:51',
+            'timezone' => 'timezone',
+            'url' => 'url',
+        ];
+    }
+}