Skip to content

Commit 946075d

Browse files
committed
Update integration tests to use the app class.
1 parent 2d444b9 commit 946075d

7 files changed

Lines changed: 110 additions & 59 deletions

tests/TestCase/Controller/ComposerControllerTest.php

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,8 @@
1313
*/
1414
namespace DebugKit\Test\TestCase\Controller;
1515

16-
use Cake\Database\Driver\Sqlite;
17-
use Cake\Datasource\ConnectionManager;
18-
use Cake\Routing\RouteBuilder;
19-
use Cake\Routing\Router;
2016
use Cake\TestSuite\IntegrationTestCase;
17+
use DebugKit\TestApp\Application;
2118

2219
/**
2320
* Composer controller test.
@@ -32,9 +29,7 @@ class ComposerControllerTest extends IntegrationTestCase
3229
public function setUp()
3330
{
3431
parent::setUp();
35-
Router::plugin('DebugKit', function (RouteBuilder $routes) {
36-
$routes->connect('/composer/:action', ['controller' => 'Composer']);
37-
});
32+
$this->configApplication(Application::class, []);
3833
$this->useHttpServer(true);
3934
}
4035

@@ -50,7 +45,7 @@ public function testCheckDependencies()
5045
'accept' => 'application/json, text/javascript, */*; q=0.01',
5146
]
5247
]);
53-
$this->post('/debug_kit/composer/checkDependencies');
48+
$this->post('/debug-kit/composer/check-dependencies');
5449
$this->assertResponseOk();
5550
$this->assertContentType('application/json');
5651
$data = json_decode((string)$this->_response->getBody(), true);
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?php
2+
/**
3+
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
4+
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
5+
*
6+
* Licensed under The MIT License
7+
* Redistributions of files must retain the above copyright notice.
8+
*
9+
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
10+
* @link http://cakephp.org CakePHP(tm) Project
11+
* @since 3.19.1
12+
* @license http://www.opensource.org/licenses/mit-license.php MIT License
13+
*/
14+
namespace DebugKit\Test\TestCase\Controller;
15+
16+
use Cake\ORM\TableRegistry;
17+
use Cake\TestSuite\IntegrationTestCase;
18+
use DebugKit\TestApp\Application;
19+
20+
/**
21+
* Dashboard controller test.
22+
*/
23+
class DashboardControllerTest extends IntegrationTestCase
24+
{
25+
public $fixtures = [
26+
'plugin.DebugKit.Requests',
27+
'plugin.DebugKit.Panels',
28+
];
29+
30+
/**
31+
* Setup method.
32+
*
33+
* @return void
34+
*/
35+
public function setUp()
36+
{
37+
parent::setUp();
38+
$this->configApplication(Application::class, []);
39+
$this->useHttpServer(true);
40+
}
41+
42+
public function testIndexNoRequests()
43+
{
44+
$requests = TableRegistry::get('DebugKit.Requests');
45+
$requests->Panels->deleteAll('1=1');
46+
$requests->deleteAll('1=1');
47+
48+
$this->get('/debug-kit/dashboard');
49+
50+
$this->assertResponseOk();
51+
$this->assertResponseContains('Database');
52+
$this->assertResponseNotContains('Reset database');
53+
}
54+
55+
public function testIndexWithRequests()
56+
{
57+
$requests = TableRegistry::get('DebugKit.Requests');
58+
$request = $requests->newEntity(['url' => '/example']);
59+
$requests->save($request);
60+
61+
$this->get('/debug-kit/dashboard');
62+
63+
$this->assertResponseOk();
64+
$this->assertResponseContains('Database');
65+
$this->assertResponseContains('Reset database');
66+
}
67+
68+
public function testReset()
69+
{
70+
$requests = TableRegistry::get('DebugKit.Requests');
71+
$this->assertGreaterThan(0, $requests->find()->count(), 'precondition failed');
72+
73+
$this->post('/debug-kit/dashboard/reset');
74+
75+
$this->assertRedirect('/debug-kit');
76+
$this->assertEquals(0, $requests->find()->count());
77+
}
78+
}

tests/TestCase/Controller/MailPreviewControllerTest.php

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@
1313
*/
1414
namespace DebugKit\Test\TestCase\Controller;
1515

16-
use Cake\Core\Plugin;
1716
use Cake\ORM\TableRegistry;
18-
use Cake\Routing\RouteBuilder;
1917
use Cake\Routing\Router;
2018
use Cake\TestSuite\IntegrationTestCase;
19+
use DebugKit\TestApp\Application;
2120

2221
/**
2322
* Mail preview controller test
@@ -43,22 +42,10 @@ class MailPreviewControllerTest extends IntegrationTestCase
4342
public function setUp()
4443
{
4544
parent::setUp();
46-
47-
Plugin::getCollection()->add(new \Debugkit\Plugin());
4845
Router::scope('/', function ($routes) {
4946
$routes->connect('/users/:action/*', ['controller' => 'Users']);
5047
});
51-
52-
Router::plugin('DebugKit', function (RouteBuilder $routes) {
53-
$routes->scope(
54-
'/mail_preview',
55-
['controller' => 'MailPreview'],
56-
function ($routes) {
57-
$routes->connect('/sent/*', ['action' => 'sent']);
58-
$routes->connect('/preview/*', ['action' => 'email']);
59-
}
60-
);
61-
});
48+
$this->configApplication(Application::class, []);
6249
$this->useHttpServer(true);
6350
}
6451

@@ -69,7 +56,7 @@ function ($routes) {
6956
*/
7057
public function testEmailPluginPassedToView()
7158
{
72-
$this->get('/debug_kit/mail_preview/preview/TestMailerPreview/test_email?plugin=DebugkitTestPlugin');
59+
$this->get('/debug-kit/mail-preview/preview/TestMailerPreview/test_email?plugin=DebugkitTestPlugin');
7360

7461
$this->assertResponseOk();
7562
$this->assertResponseContains('src="?part=text&plugin=DebugkitTestPlugin');
@@ -81,7 +68,7 @@ public function testEmailPluginPassedToView()
8168
*/
8269
public function testEmailPartTextContent()
8370
{
84-
$this->get('/debug_kit/mail_preview/preview/TestMailerPreview/test_email?part=text&plugin=DebugkitTestPlugin');
71+
$this->get('/debug-kit/mail-preview/preview/TestMailerPreview/test_email?part=text&plugin=DebugkitTestPlugin');
8572

8673
$this->assertResponseOk();
8774
$this->assertResponseContains('Testing email action.');
@@ -95,7 +82,7 @@ public function testEmailPartTextContent()
9582
*/
9683
public function testOnChangeJsPluginPassedToview()
9784
{
98-
$this->get('/debug_kit/mail_preview/preview/TestMailerPreview/test_email?plugin=DebugkitTestPlugin');
85+
$this->get('/debug-kit/mail-preview/preview/TestMailerPreview/test_email?plugin=DebugkitTestPlugin');
9986

10087
$this->assertResponseContains("iframe.contentWindow.location.replace('?part=' + part_name + '&plugin=DebugkitTestPlugin');");
10188
}
@@ -107,7 +94,7 @@ public function testOnChangeJsPluginPassedToview()
10794
*/
10895
public function testSentInvalidData()
10996
{
110-
$this->get('/debug_kit/mail_preview/sent/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/0');
97+
$this->get('/debug-kit/mail-preview/sent/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/0');
11198
$this->assertResponseCode(404);
11299
}
113100

@@ -131,7 +118,7 @@ public function testSentValidData()
131118
$panel->content = serialize($data);
132119
$panels->save($panel);
133120

134-
$this->get("/debug_kit/mail_preview/sent/{$panel->id}/0");
121+
$this->get("/debug-kit/mail-preview/sent/{$panel->id}/0");
135122
$this->assertResponseCode(200);
136123
$this->assertResponseContains('test@example.com');
137124
$this->assertResponseContains('<iframe');
@@ -157,7 +144,7 @@ public function testSentValidDataRenderPart()
157144
$panel->content = serialize($data);
158145
$panels->save($panel);
159146

160-
$this->get("/debug_kit/mail_preview/sent/{$panel->id}/0?part=html");
147+
$this->get("/debug-kit/mail-preview/sent/{$panel->id}/0?part=html");
161148
$this->assertResponseCode(200);
162149
$this->assertResponseContains('<h1>Hi</h1>');
163150
}

tests/TestCase/Controller/PanelsControllerTest.php

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@
1313
*/
1414
namespace DebugKit\Test\TestCase\Controller;
1515

16-
use Cake\Database\Driver\Sqlite;
17-
use Cake\Datasource\ConnectionManager;
18-
use Cake\Routing\RouteBuilder;
19-
use Cake\Routing\Router;
2016
use Cake\TestSuite\IntegrationTestCase;
17+
use DebugKit\TestApp\Application;
18+
2119

2220
/**
2321
* Panel controller test.
@@ -43,9 +41,7 @@ class PanelsControllerTest extends IntegrationTestCase
4341
public function setUp()
4442
{
4543
parent::setUp();
46-
Router::plugin('DebugKit', function (RouteBuilder $routes) {
47-
$routes->connect('/panels/:action/*', ['controller' => 'Panels']);
48-
});
44+
$this->configApplication(Application::class, []);
4945
$this->useHttpServer(true);
5046
}
5147

@@ -62,7 +58,7 @@ public function testIndex()
6258
]
6359
]);
6460

65-
$this->get('/debug_kit/panels/index/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
61+
$this->get('/debug-kit/panels/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
6662

6763
$this->assertResponseOk();
6864
$this->assertContentType('application/json');
@@ -75,7 +71,7 @@ public function testIndex()
7571
*/
7672
public function testView()
7773
{
78-
$this->get('/debug_kit/panels/view/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
74+
$this->get('/debug-kit/panels/view/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
7975

8076
$this->assertResponseOk();
8177
$this->assertResponseContains('Request</h2>');
@@ -89,7 +85,7 @@ public function testView()
8985
*/
9086
public function testViewNotExists()
9187
{
92-
$this->get('/debug_kit/panels/view/aaaaaaaa-ffff-ffff-ffff-aaaaaaaaaaaa');
88+
$this->get('/debug-kit/panels/view/aaaaaaaa-ffff-ffff-ffff-aaaaaaaaaaaa');
9389
$this->assertResponseError();
9490
$this->assertResponseContains('Error page');
9591
}

tests/TestCase/Controller/RequestsControllerTest.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,8 @@
1313
*/
1414
namespace DebugKit\Test\TestCase\Controller;
1515

16-
use Cake\Routing\RouteBuilder;
17-
use Cake\Routing\Router;
1816
use Cake\TestSuite\IntegrationTestCase;
17+
use DebugKit\TestApp\Application;
1918

2019
/**
2120
* Request controller test.
@@ -41,9 +40,7 @@ class RequestsControllerTest extends IntegrationTestCase
4140
public function setUp()
4241
{
4342
parent::setUp();
44-
Router::plugin('DebugKit', function (RouteBuilder $routes) {
45-
$routes->connect('/toolbar/:action/*', ['controller' => 'Requests']);
46-
});
43+
$this->configApplication(Application::class, []);
4744
$this->useHttpServer(true);
4845
}
4946

@@ -55,7 +52,7 @@ public function setUp()
5552
public function testView()
5653
{
5754
$this->configRequest(['headers' => ['Accept' => 'application/json']]);
58-
$this->get('/debug_kit/toolbar/view/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
55+
$this->get('/debug-kit/toolbar/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
5956

6057
$this->assertResponseOk();
6158
$this->assertResponseContains('Request', 'Has a panel button');
@@ -70,7 +67,7 @@ public function testView()
7067
public function testViewNotExists()
7168
{
7269
$this->configRequest(['headers' => ['Accept' => 'application/json']]);
73-
$this->get('/debug_kit/toolbar/view/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb');
70+
$this->get('/debug-kit/toolbar/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb');
7471

7572
$this->assertResponseError();
7673
}

tests/TestCase/Controller/ToolbarControllerTest.php

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414
namespace DebugKit\Test\TestCase\Controller;
1515

1616
use Cake\Cache\Cache;
17-
use Cake\Routing\RouteBuilder;
18-
use Cake\Routing\Router;
1917
use Cake\TestSuite\IntegrationTestCase;
18+
use DebugKit\TestApp\Application;
2019

2120
/**
2221
* Toolbar controller test.
@@ -42,12 +41,7 @@ class ToolbarControllerTest extends IntegrationTestCase
4241
public function setUp()
4342
{
4443
parent::setUp();
45-
Router::plugin('DebugKit', function (RouteBuilder $routes) {
46-
$routes->connect(
47-
'/toolbar/clear_cache/*',
48-
['plugin' => 'DebugKit', 'controller' => 'Toolbar', 'action' => 'clearCache']
49-
);
50-
});
44+
$this->configApplication(Application::class, []);
5145
$this->useHttpServer(true);
5246
}
5347

@@ -58,9 +52,9 @@ public function setUp()
5852
*/
5953
public function testClearCacheNoGet()
6054
{
61-
$this->get('/debug_kit/toolbar/clear_cache?name=testing');
55+
$this->get('/debug-kit/toolbar/clear_cache?name=testing');
6256

63-
$this->assertEquals(405, $this->_response->getStatusCode());
57+
$this->assertEquals(404, $this->_response->getStatusCode());
6458
}
6559

6660
/**
@@ -80,7 +74,7 @@ public function testClearCache()
8074
Cache::setConfig('testing', $mock);
8175

8276
$this->configRequest(['headers' => ['Accept' => 'application/json']]);
83-
$this->post('/debug_kit/toolbar/clear_cache', ['name' => 'testing']);
77+
$this->post('/debug-kit/toolbar/clear-cache', ['name' => 'testing']);
8478
$this->assertResponseOk();
8579
$this->assertResponseContains('success');
8680
}

tests/test_app/Application.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414
*/
1515
namespace DebugKit\TestApp;
1616

17-
use Cake\Core\Configure;
18-
use Cake\Error\Middleware\ErrorHandlerMiddleware;
1917
use Cake\Http\BaseApplication;
2018
use Cake\Routing\Middleware\AssetMiddleware;
2119
use Cake\Routing\Middleware\RoutingMiddleware;
@@ -28,6 +26,12 @@
2826
*/
2927
class Application extends BaseApplication
3028
{
29+
public function initialize(): void
30+
{
31+
parent::initialize();
32+
$this->loadPlugin('DebugKit');
33+
}
34+
3135
/**
3236
* Setup the middleware queue your application will use.
3337
*

0 commit comments

Comments
 (0)