Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Core/tests/TestCase/Routing/Route/ApiRouteTest.php
<?php

namespace Croogo\Core\Test\TestCase\Routing\Route;

use
Cake\Core\Configure;
use
Croogo\Core\Routing\Route\ApiRoute;
use
Croogo\Core\TestSuite\CroogoTestCase;

class
ApiRouteTest extends CroogoTestCase
{

    public
$fixtures = [
//      'plugin.Croogo/Settings.Setting',
   
];

    public function
testParse()
    {
       
$this->markTestIncomplete('This test needs to be ported to CakePHP 3.0');

       
$apiPath = Configure::read('Croogo.Api.path');
       
$url = '/' . $apiPath . '/v1.0/users/';

       
$route = new ApiRoute('/:api/:prefix/users/:action/*', [
           
'plugin' => 'users',
           
'controller' => 'users',
           
'action' => 'index',
        ]);

       
$result = $route->parse('/' . $apiPath . '/x1.0/users/index');
       
$this->assertFalse($result);

       
$result = $route->parse('/foo/v1.0/users/index');
       
$this->assertFalse($result);

       
$result = $route->parse($url . 'index');
       
$expected = [
           
'api' => 'api',
           
'prefix' => 'v1_0',
           
'controller' => 'users',
           
'action' => 'index',
           
'named' => [],
           
'pass' => [],
           
'plugin' => 'users',
        ];
       
$this->assertEquals($expected, $result);

       
$result = $route->parse($url . 'lookup/pass/1/name:foo');

       
$expected = [
           
'api' => 'api',
           
'prefix' => 'v1_0',
           
'controller' => 'users',
           
'action' => 'lookup',
           
'named' => ['name' => 'foo'],
           
'pass' => ['pass', 1],
           
'plugin' => 'users',
        ];

       
$this->assertEquals($expected, $result);
    }

    public function
testMatch()
    {
       
$this->markTestIncomplete('This test needs to be ported to CakePHP 3.0');

       
$apiPath = Configure::read('Croogo.Api.path');
       
$url = '/' . $apiPath . '/v1.0/users/';

       
$route = new ApiRoute('/:api/:prefix/users/:action/*', [
           
'plugin' => 'users',
           
'controller' => 'users',
           
'action' => 'index',
        ]);

       
$result = $route->match([
           
'api' => 'api',
           
'prefix' => 'v1_0',
           
'controller' => 'users',
           
'action' => 'index',
           
'plugin' => 'users',
        ]);
       
$this->assertEquals($url, $result);

       
$result = $route->match([
           
'api' => 'api',
           
'prefix' => 'v1_0',
           
'controller' => 'users',
           
'action' => 'lookup',
           
'plugin' => 'users',
           
'name' => 'foo',
           
'pass',
           
1
       
]);
       
$this->assertEquals($url . 'lookup/pass/1/name:foo', $result);
    }
}