Fixes unit tests so they pass
This commit is contained in:
parent
f0bc711e0f
commit
83b54c043c
|
|
@ -87,4 +87,26 @@ return [
|
||||||
|
|
||||||
'convertLineEndings' => true,
|
'convertLineEndings' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Local plugins path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Specifies the absolute local plugins path.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'pluginsPathLocal' => base_path().'/tests/fixtures/plugins',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Local themes path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Specifies the absolute local themes path.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'themesPathLocal' => base_path().'/tests/fixtures/themes',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<phpdoc>
|
|
||||||
<parser>
|
|
||||||
<target>docs</target>
|
|
||||||
</parser>
|
|
||||||
<transformer>
|
|
||||||
<target>docs</target>
|
|
||||||
</transformer>
|
|
||||||
<files>
|
|
||||||
<directory>modules</directory>
|
|
||||||
<directory>vendor/october/rain/src/October</directory>
|
|
||||||
</files>
|
|
||||||
</phpdoc>
|
|
||||||
|
|
@ -14,10 +14,7 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
|
||||||
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
|
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
|
||||||
|
|
||||||
$app['cache']->setDefaultDriver('array');
|
$app['cache']->setDefaultDriver('array');
|
||||||
|
|
||||||
$app->setLocale('en');
|
$app->setLocale('en');
|
||||||
$app->setPluginsPath(base_path().'/tests/fixtures/plugins');
|
|
||||||
$app->setThemesPath(base_path().'/tests/fixtures/themes');
|
|
||||||
|
|
||||||
return $app;
|
return $app;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -144,61 +144,67 @@ class ControllerTest extends TestCase
|
||||||
return $requestMock;
|
return $requestMock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Cms\Classes\CmsException
|
||||||
|
* @expectedExceptionMessage AJAX handler 'onNoHandler' was not found.
|
||||||
|
*/
|
||||||
public function testAjaxHandlerNotFound()
|
public function testAjaxHandlerNotFound()
|
||||||
{
|
{
|
||||||
Request::swap($this->configAjaxRequestMock('onNoHandler', ''));
|
Request::swap($this->configAjaxRequestMock('onNoHandler', ''));
|
||||||
|
|
||||||
$theme = Theme::load('test');
|
$theme = Theme::load('test');
|
||||||
$controller = new Controller($theme);
|
$controller = new Controller($theme);
|
||||||
|
$controller->run('/ajax-test');
|
||||||
|
|
||||||
$response = $controller->run('/ajax-test');
|
//
|
||||||
$this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
|
// This was the old approach, can remove this comment block if year >= 2017
|
||||||
|
//
|
||||||
|
|
||||||
$this->assertInternalType('string', $response->getOriginalContent());
|
// $response = $controller->run('/ajax-test');
|
||||||
$this->assertEquals(500, $response->getStatusCode());
|
// $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
|
||||||
$this->assertEquals("AJAX handler 'onNoHandler' was not found.", $response->getOriginalContent());
|
|
||||||
|
// $this->assertInternalType('string', $response->getOriginalContent());
|
||||||
|
// $this->assertEquals(500, $response->getStatusCode());
|
||||||
|
// $this->assertEquals("AJAX handler 'onNoHandler' was not found.", $response->getOriginalContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Cms\Classes\CmsException
|
||||||
|
* @expectedExceptionMessage Invalid AJAX handler name: delete.
|
||||||
|
*/
|
||||||
public function testAjaxInvalidHandlerName()
|
public function testAjaxInvalidHandlerName()
|
||||||
{
|
{
|
||||||
Request::swap($this->configAjaxRequestMock('delete'));
|
Request::swap($this->configAjaxRequestMock('delete'));
|
||||||
|
|
||||||
$theme = Theme::load('test');
|
$theme = Theme::load('test');
|
||||||
$controller = new Controller($theme);
|
$controller = new Controller($theme);
|
||||||
$response = $controller->run('/ajax-test');
|
$controller->run('/ajax-test');
|
||||||
$this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
|
|
||||||
|
|
||||||
$this->assertInternalType('string', $response->getOriginalContent());
|
|
||||||
$this->assertEquals(500, $response->getStatusCode());
|
|
||||||
$this->assertEquals('Invalid AJAX handler name: delete.', $response->getOriginalContent());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Cms\Classes\CmsException
|
||||||
|
* @expectedExceptionMessage Invalid partial name: p:artial.
|
||||||
|
*/
|
||||||
public function testAjaxInvalidPartial()
|
public function testAjaxInvalidPartial()
|
||||||
{
|
{
|
||||||
Request::swap($this->configAjaxRequestMock('onTest', 'p:artial'));
|
Request::swap($this->configAjaxRequestMock('onTest', 'p:artial'));
|
||||||
|
|
||||||
$theme = Theme::load('test');
|
$theme = Theme::load('test');
|
||||||
$controller = new Controller($theme);
|
$controller = new Controller($theme);
|
||||||
$response = $controller->run('/ajax-test');
|
$controller->run('/ajax-test');
|
||||||
$this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
|
|
||||||
|
|
||||||
$this->assertInternalType('string', $response->getOriginalContent());
|
|
||||||
$this->assertEquals(500, $response->getStatusCode());
|
|
||||||
$this->assertEquals('Invalid partial name: p:artial.', $response->getOriginalContent());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Cms\Classes\CmsException
|
||||||
|
* @expectedExceptionMessage The partial 'partial' is not found.
|
||||||
|
*/
|
||||||
public function testAjaxPartialNotFound()
|
public function testAjaxPartialNotFound()
|
||||||
{
|
{
|
||||||
Request::swap($this->configAjaxRequestMock('onTest', 'partial'));
|
Request::swap($this->configAjaxRequestMock('onTest', 'partial'));
|
||||||
|
|
||||||
$theme = Theme::load('test');
|
$theme = Theme::load('test');
|
||||||
$controller = new Controller($theme);
|
$controller = new Controller($theme);
|
||||||
$response = $controller->run('/ajax-test');
|
$controller->run('/ajax-test');
|
||||||
$this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
|
|
||||||
|
|
||||||
$this->assertInternalType('string', $response->getOriginalContent());
|
|
||||||
$this->assertEquals(500, $response->getStatusCode());
|
|
||||||
$this->assertEquals("The partial 'partial' is not found.", $response->getOriginalContent());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPageAjax()
|
public function testPageAjax()
|
||||||
|
|
@ -332,10 +338,10 @@ ESC;
|
||||||
$controller = new Controller($theme);
|
$controller = new Controller($theme);
|
||||||
|
|
||||||
$url = $controller->themeUrl();
|
$url = $controller->themeUrl();
|
||||||
$this->assertEquals('/tests/fixtures/themes/test', $url);
|
$this->assertEquals('http://localhost/themes/test', $url);
|
||||||
|
|
||||||
$url = $controller->themeUrl('foo/bar.css');
|
$url = $controller->themeUrl('foo/bar.css');
|
||||||
$this->assertEquals('/tests/fixtures/themes/test/foo/bar.css', $url);
|
$this->assertEquals('http://localhost/themes/test/foo/bar.css', $url);
|
||||||
|
|
||||||
//
|
//
|
||||||
// These tests seem to bear different results
|
// These tests seem to bear different results
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,9 @@
|
||||||
<directory>./</directory>
|
<directory>./</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
|
<php>
|
||||||
|
<env name="APP_ENV" value="testing" />
|
||||||
|
<env name="CACHE_DRIVER" value="array" />
|
||||||
|
<env name="SESSION_DRIVER" value="array" />
|
||||||
|
</php>
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|
@ -70,13 +70,24 @@ class CombineAssetsTest extends TestCase
|
||||||
public function testCombine()
|
public function testCombine()
|
||||||
{
|
{
|
||||||
$combiner = CombineAssets::instance();
|
$combiner = CombineAssets::instance();
|
||||||
$url = $combiner->combine(['assets/css/style1.css', 'assets/css/style2.css'], '/tests/fixtures/themes/test');
|
|
||||||
$this->assertNotNull($url);
|
|
||||||
$this->assertRegExp('/\w+[-]\d+/i', $url); // Must contain hash-number
|
|
||||||
|
|
||||||
$url = $combiner->combine(['assets/js/script1.js', 'assets/js/script2.js'], '/tests/fixtures/themes/test');
|
$url = $combiner->combine([
|
||||||
|
'assets/css/style1.css',
|
||||||
|
'assets/css/style2.css'
|
||||||
|
],
|
||||||
|
base_path().'/tests/fixtures/themes/test'
|
||||||
|
);
|
||||||
$this->assertNotNull($url);
|
$this->assertNotNull($url);
|
||||||
$this->assertRegExp('/\w+[-]\d+/i', $url); // Must contain hash-number
|
$this->assertRegExp('/\w+[-]\d+/i', $url); // Must contain hash-number
|
||||||
|
|
||||||
|
$url = $combiner->combine([
|
||||||
|
'assets/js/script1.js',
|
||||||
|
'assets/js/script2.js'
|
||||||
|
],
|
||||||
|
base_path().'/tests/fixtures/themes/test'
|
||||||
|
);
|
||||||
|
$this->assertNotNull($url);
|
||||||
|
$this->assertRegExp('/\w+[-]\d+/i', $url); // Must contain hash-number
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testPrepareRequest()
|
public function testPrepareRequest()
|
||||||
|
|
@ -130,10 +141,10 @@ class CombineAssetsTest extends TestCase
|
||||||
public function testMakeCacheId()
|
public function testMakeCacheId()
|
||||||
{
|
{
|
||||||
$sampleResources = ['assets/css/style1.css', 'assets/css/style2.css'];
|
$sampleResources = ['assets/css/style1.css', 'assets/css/style2.css'];
|
||||||
$samplePath = '/tests/fixtures/Cms/themes/test';
|
$samplePath = base_path().'/tests/fixtures/cms/themes/test';
|
||||||
|
|
||||||
$combiner = CombineAssets::instance();
|
$combiner = CombineAssets::instance();
|
||||||
self::setProtectedProperty($combiner, 'path', $samplePath);
|
self::setProtectedProperty($combiner, 'localPath', $samplePath);
|
||||||
|
|
||||||
$value = self::callProtectedMethod($combiner, 'makeCacheId', [$sampleResources]);
|
$value = self::callProtectedMethod($combiner, 'makeCacheId', [$sampleResources]);
|
||||||
$this->assertEquals(md5($samplePath.implode('|', $sampleResources)), $value);
|
$this->assertEquals(md5($samplePath.implode('|', $sampleResources)), $value);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue