51 lines
1.9 KiB
PHP
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);
|
|
}
|
|
}
|