55 lines
2.4 KiB
PHP
Executable File
55 lines
2.4 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Modules\Helpdesk\Tests\Feature;
|
|
|
|
use Tests\TestCase;
|
|
|
|
/**
|
|
* Verifies that Helpdesk ticket sidebar cards use the same expandable header pattern as Ticket controls.
|
|
*/
|
|
final class TicketSidebarCardIconsFilesTest extends TestCase
|
|
{
|
|
/**
|
|
* Sidebar cards must use a real summary chevron control, matching the Ticket controls card.
|
|
*/
|
|
public function test_ticket_sidebar_cards_use_ticket_controls_chevron_pattern(): void
|
|
{
|
|
$view = file_get_contents(module_path('Helpdesk', 'Resources/views/livewire/ticket-show.blade.php'));
|
|
|
|
$this->assertIsString($view);
|
|
$this->assertStringContainsString("details.className = Array.from(classNames).join(' ');", $view);
|
|
$this->assertStringContainsString("classNames.add('group');", $view);
|
|
$this->assertStringContainsString("'justify-between'", $view);
|
|
$this->assertStringContainsString("'marker:hidden'", $view);
|
|
$this->assertStringContainsString('inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-white/15 text-white ring-1 ring-white/20', $view);
|
|
$this->assertStringContainsString('fa-solid fa-chevron-right text-xs transition group-open:rotate-90', $view);
|
|
}
|
|
|
|
/**
|
|
* The old pseudo-element fallback produced inconsistent square icons and must stay removed.
|
|
*/
|
|
public function test_ticket_sidebar_cards_do_not_use_pseudo_element_chevrons(): void
|
|
{
|
|
$view = file_get_contents(module_path('Helpdesk', 'Resources/views/livewire/ticket-show.blade.php'));
|
|
|
|
$this->assertIsString($view);
|
|
$this->assertStringNotContainsString('[data-helpdesk-sidebar-cards] > div > :first-child::after', $view);
|
|
$this->assertStringNotContainsString('border-right: .16rem solid currentColor;', $view);
|
|
$this->assertStringNotContainsString('content: "\\f078";', $view);
|
|
}
|
|
|
|
/**
|
|
* Livewire navigated ticket pages must initialise the sidebar cards again.
|
|
*/
|
|
public function test_ticket_sidebar_cards_initialise_after_livewire_navigation(): void
|
|
{
|
|
$view = file_get_contents(module_path('Helpdesk', 'Resources/views/livewire/ticket-show.blade.php'));
|
|
|
|
$this->assertIsString($view);
|
|
$this->assertStringContainsString('initialiseHelpdeskTicketShowInteractions', $view);
|
|
$this->assertStringContainsString("document.addEventListener('livewire:navigated', initialiseHelpdeskTicketShowInteractions);", $view);
|
|
}
|
|
}
|