46 lines
2.0 KiB
PHP
Executable File
46 lines
2.0 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Modules\Helpdesk\Tests\Feature;
|
|
|
|
use Tests\TestCase;
|
|
|
|
final class TicketCreateAttachmentBrowserSafetyTest extends TestCase
|
|
{
|
|
public function test_ticket_create_uses_standard_livewire_temporary_uploads(): void
|
|
{
|
|
$view = file_get_contents(dirname(__DIR__, 2) . '/Resources/views/livewire/ticket-create.blade.php');
|
|
|
|
self::assertIsString($view);
|
|
self::assertStringContainsString('wire:submit.prevent="save"', $view);
|
|
self::assertStringContainsString('type="file"', $view);
|
|
self::assertStringContainsString('wire:model="attachments"', $view);
|
|
self::assertStringContainsString('multiple', $view);
|
|
self::assertStringContainsString('wire:key="ticket-create-attachments-input"', $view);
|
|
}
|
|
|
|
public function test_ticket_create_does_not_mix_existing_ticket_upload_behaviour_into_create_form(): void
|
|
{
|
|
$view = file_get_contents(dirname(__DIR__, 2) . '/Resources/views/livewire/ticket-create.blade.php');
|
|
|
|
self::assertIsString($view);
|
|
self::assertStringNotContainsString('@vite([\'resources/css/app.css\', \'resources/js/app.js\'])', $view);
|
|
self::assertStringNotContainsString('helpdeskAttachmentDropzone', $view);
|
|
self::assertStringNotContainsString('DataTransfer', $view);
|
|
self::assertStringNotContainsString('$wire.uploadMultiple', $view);
|
|
self::assertStringNotContainsString('input.files =', $view);
|
|
self::assertStringNotContainsString('helpdesk-editor-files-pasted', $view);
|
|
}
|
|
|
|
public function test_ticket_create_shows_uploaded_temporary_file_names_from_livewire_property(): void
|
|
{
|
|
$view = file_get_contents(dirname(__DIR__, 2) . '/Resources/views/livewire/ticket-create.blade.php');
|
|
|
|
self::assertIsString($view);
|
|
self::assertStringContainsString('@if (count($attachments) > 0)', $view);
|
|
self::assertStringContainsString('$attachment->getClientOriginalName()', $view);
|
|
self::assertStringContainsString('wire:loading wire:target="attachments"', $view);
|
|
}
|
|
}
|