Skip to content

Commit 08d48ce

Browse files
committed
better test
1 parent 022d5b5 commit 08d48ce

File tree

1 file changed

+109
-12
lines changed

1 file changed

+109
-12
lines changed

spec/Listener/MvcSpec.php

Lines changed: 109 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,14 @@
88
use Kahlan\Plugin\Quit;
99
use Kahlan\QuitException;
1010
use Zend\Console\Console;
11+
use Zend\Db\Adapter\Adapter;
1112
use Zend\EventManager\EventManagerInterface;
13+
use Zend\Http\PhpEnvironment\Request;
1214
use Zend\Log\Logger;
15+
use Zend\Log\Writer\Db as DbWriter;
1316
use Zend\Mvc\MvcEvent;
1417
use Zend\View\Renderer\PhpRenderer;
1518
use Zend\View\Resolver;
16-
use Zend\Log\Writer\Db as DbWriter;
17-
use ReflectionProperty;
18-
use Zend\Stdlib\SplPriorityQueue;
19-
use Zend\Http\PhpEnvironment\Request;
20-
use Zend\ServiceManager\ServiceLocatorInterface;
2119

2220
describe('Mvc', function () {
2321

@@ -369,8 +367,6 @@
369367

370368
it('call error_get_last() and return error', function () {
371369

372-
skipIf(PHP_MAJOR_VERSION < 7);
373-
374370
allow('error_get_last')->toBeCalled()->andReturn([
375371
'type' => 8,
376372
'message' => 'Undefined variable: a',
@@ -379,11 +375,112 @@
379375
]);
380376
expect('error_get_last')->toBeCalled();
381377

382-
try {
383-
$this->listener->execOnShutdown();
384-
} catch (\Throwable $t) {
385-
expect($t)->toBeAnInstanceOf(\Throwable::class);
386-
}
378+
$dbAdapter = new Adapter([
379+
'username' => 'root',
380+
'password' => '',
381+
'driver' => 'Pdo',
382+
'dsn' => 'mysql:dbname=errorheromodule;host=127.0.0.1',
383+
'driver_options' => [
384+
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'',
385+
],
386+
]);
387+
388+
$writer = new DbWriter(
389+
[
390+
'db' => $dbAdapter,
391+
'table' => 'log',
392+
'column' => [
393+
'timestamp' => 'date',
394+
'priority' => 'type',
395+
'message' => 'event',
396+
'extra' => [
397+
'url' => 'url',
398+
'file' => 'file',
399+
'line' => 'line',
400+
'error_type' => 'error_type',
401+
'trace' => 'trace',
402+
'request_data' => 'request_data',
403+
],
404+
],
405+
]
406+
);
407+
408+
$logger = new Logger();
409+
$logger->addWriter($writer);
410+
$logWritersConfig = [
411+
412+
[
413+
'name' => 'db',
414+
'options' => [
415+
'db' => 'Zend\Db\Adapter\Adapter',
416+
'table' => 'log',
417+
'column' => [
418+
'timestamp' => 'date',
419+
'priority' => 'type',
420+
'message' => 'event',
421+
'extra' => [
422+
'url' => 'url',
423+
'file' => 'file',
424+
'line' => 'line',
425+
'error_type' => 'error_type',
426+
'trace' => 'trace',
427+
'request_data' => 'request_data',
428+
],
429+
],
430+
],
431+
],
432+
433+
];
434+
435+
$logging = new Logging(
436+
$logger,
437+
'http://serverUrl',
438+
Double::instance(['extends' => Request::class, 'methods' => '__construct']),
439+
'/',
440+
$this->config,
441+
$logWritersConfig,
442+
null,
443+
null
444+
);
445+
446+
$errorHeroModuleLocalConfig = [
447+
'enable' => true,
448+
'display-settings' => [
449+
'exclude-php-errors' => [
450+
E_USER_DEPRECATED
451+
],
452+
'display_errors' => 1,
453+
'template' => [
454+
'layout' => 'layout/layout',
455+
'view' => 'error-hero-module/error-default'
456+
],
457+
'console' => [
458+
'message' => 'We have encountered a problem and we can not fulfill your request. An error report has been generated and send to the support team and someone will attend to this problem urgently. Please try again later. Thank you for your patience.',
459+
],
460+
461+
],
462+
'logging-settings' => [
463+
'same-error-log-time-range' => 86400,
464+
],
465+
'email-notification-settings' => [
466+
'enable' => false,
467+
'mail-message' => 'YourMailMessageService',
468+
'mail-transport' => 'YourMailTransportService',
469+
'email-from' => 'Sender Name <[email protected]>',
470+
'email-to-send' => [
471+
472+
473+
],
474+
],
475+
];
476+
477+
$listener = new Mvc(
478+
$errorHeroModuleLocalConfig,
479+
$logging,
480+
$this->renderer
481+
);
482+
$listener->execOnShutdown();
483+
387484
});
388485

389486

0 commit comments

Comments
 (0)