Files
WMS/Modules/Helpdesk/Tests/Feature/TicketPublicResponseVisibilityFilesTest.php
T
2026-06-23 13:39:02 +01:00

51 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace Modules\Helpdesk\Tests\Feature;
use PHPUnit\Framework\TestCase;
final class TicketPublicResponseVisibilityFilesTest extends TestCase
{
/**
* Ensure the main ticket response form has an explicit public/internal visibility choice.
*/
public function test_main_ticket_response_form_has_public_visibility_control(): void
{
$viewPath = dirname(__DIR__, 2) . '/Resources/views/livewire/ticket-show.blade.php';
self::assertFileExists($viewPath);
$view = file_get_contents($viewPath);
self::assertIsString($view);
self::assertStringContainsString('Visibility', $view);
self::assertStringContainsString('Public reply', $view);
self::assertStringContainsString('Internal note', $view);
self::assertStringContainsString('name="internal" value="0"', $view);
self::assertStringContainsString('name="internal" value="1"', $view);
self::assertStringContainsString('counts as the first SLA response', $view);
}
/**
* Ensure threaded responses have the same public/internal visibility choice and visible badges.
*/
public function test_threaded_responses_have_public_visibility_control_and_badges(): void
{
$partialPath = dirname(__DIR__, 2) . '/Resources/views/partials/comment-thread.blade.php';
self::assertFileExists($partialPath);
$partial = file_get_contents($partialPath);
self::assertIsString($partial);
self::assertStringContainsString('Public reply', $partial);
self::assertStringContainsString('Internal note', $partial);
self::assertStringContainsString('name="internal" value="0" checked', $partial);
self::assertStringContainsString('name="internal" value="1"', $partial);
self::assertStringContainsString('>Public</span>', $partial);
self::assertStringContainsString('>Internal</span>', $partial);
}
}