mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 23:17:47 +01:00
chore: fix unit tests
This commit is contained in:
@@ -12,6 +12,7 @@ use Flasher\Prime\Notification\Notification;
|
||||
use Flasher\Prime\Response\Presenter\HtmlPresenter;
|
||||
use Flasher\Prime\Response\Response;
|
||||
use Flasher\Tests\Prime\TestCase;
|
||||
use Livewire\LivewireManager;
|
||||
|
||||
class HtmlPresenterTest extends TestCase
|
||||
{
|
||||
@@ -34,6 +35,8 @@ class HtmlPresenterTest extends TestCase
|
||||
$notification->setType('warning');
|
||||
$envelopes[] = new Envelope($notification);
|
||||
|
||||
$livewireListener = $this->getLivewireListenerScript();
|
||||
|
||||
$response = <<<JAVASCRIPT
|
||||
<script type="text/javascript" class="flasher-js">
|
||||
(function() {
|
||||
@@ -88,6 +91,8 @@ class HtmlPresenterTest extends TestCase
|
||||
document.addEventListener('flasher:render', function (event) {
|
||||
render(event.detail);
|
||||
});
|
||||
|
||||
{$livewireListener}
|
||||
}
|
||||
|
||||
if (window.hasOwnProperty('flasher') || !rootScript || document.querySelector('script[src="' + rootScript + '"]')) {
|
||||
@@ -136,4 +141,25 @@ JAVASCRIPT;
|
||||
|
||||
$this->assertEquals($response, $presenter->render(new Response($envelopes, array('envelopes_only' => true))));
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the script for Livewire event handling.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function getLivewireListenerScript()
|
||||
{
|
||||
if (!class_exists(LivewireManager::class)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return <<<JAVASCRIPT
|
||||
document.addEventListener('livewire:navigating', function () {
|
||||
var elements = document.querySelectorAll('.fl-no-cache');
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
elements[i].remove();
|
||||
}
|
||||
});
|
||||
JAVASCRIPT;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ use Flasher\Prime\Stamp\CreatedAtStamp;
|
||||
use Flasher\Prime\Stamp\UuidStamp;
|
||||
use Flasher\Prime\Storage\StorageManager;
|
||||
use Flasher\Tests\Prime\TestCase;
|
||||
use Livewire\LivewireManager;
|
||||
|
||||
class ResponseManagerTest extends TestCase
|
||||
{
|
||||
@@ -46,6 +47,7 @@ class ResponseManagerTest extends TestCase
|
||||
$storageManager->add($envelopes);
|
||||
|
||||
$responseManager = new ResponseManager(null, $storageManager);
|
||||
$livewireListener = $this->getLivewireListenerScript();
|
||||
|
||||
$response = <<<JAVASCRIPT
|
||||
<script type="text/javascript" class="flasher-js">
|
||||
@@ -101,6 +103,8 @@ class ResponseManagerTest extends TestCase
|
||||
document.addEventListener('flasher:render', function (event) {
|
||||
render(event.detail);
|
||||
});
|
||||
|
||||
{$livewireListener}
|
||||
}
|
||||
|
||||
if (window.hasOwnProperty('flasher') || !rootScript || document.querySelector('script[src="' + rootScript + '"]')) {
|
||||
@@ -132,4 +136,25 @@ JAVASCRIPT;
|
||||
$responseManager = new ResponseManager();
|
||||
$responseManager->render(array(), 'xml');
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate the script for Livewire event handling.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function getLivewireListenerScript()
|
||||
{
|
||||
if (!class_exists(LivewireManager::class)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return <<<JAVASCRIPT
|
||||
document.addEventListener('livewire:navigating', function () {
|
||||
var elements = document.querySelectorAll('.fl-no-cache');
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
elements[i].remove();
|
||||
}
|
||||
});
|
||||
JAVASCRIPT;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user