major ui updates

This commit is contained in:
Mark Gregory
2026-06-12 15:11:51 +01:00
parent 3c9b39d83b
commit 7bc8f20ed5
154 changed files with 3796 additions and 4117 deletions
@@ -11,8 +11,8 @@ use Tests\DuskTestCase;
final class HelpdeskNavigationBrowserTest extends DuskTestCase
{
use DatabaseMigrations;
use BuildsHelpdeskFixtures;
use DatabaseMigrations;
public function test_helpdesk_dashboard_and_main_pages_render_with_professional_headers(): void
{
@@ -11,8 +11,8 @@ use Tests\DuskTestCase;
final class HelpdeskSettingsBrowserTest extends DuskTestCase
{
use DatabaseMigrations;
use BuildsHelpdeskFixtures;
use DatabaseMigrations;
public function test_settings_tabs_expose_lookup_git_and_workflow_setup_areas(): void
{
@@ -11,8 +11,8 @@ use Tests\DuskTestCase;
final class HelpdeskTicketBrowserTest extends DuskTestCase
{
use DatabaseMigrations;
use BuildsHelpdeskFixtures;
use DatabaseMigrations;
public function test_user_can_create_and_view_ticket_in_browser(): void
{
@@ -133,7 +133,7 @@ trait BuildsHelpdeskFixtures
unset($attributes['owner'], $attributes['agent']);
return Ticket::query()->create(array_merge([
'reference' => 'HD-' . now()->format('Y') . '-' . str_pad((string) random_int(1, 99999), 5, '0', STR_PAD_LEFT),
'reference' => 'HD-'.now()->format('Y').'-'.str_pad((string) random_int(1, 99999), 5, '0', STR_PAD_LEFT),
'user_id' => $owner->id,
'agent_id' => $agent?->id,
'status_id' => $this->status()->id,
@@ -11,8 +11,8 @@ use Tests\TestCase;
final class AgentAssignmentTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_assignment_selects_least_loaded_agent(): void
{
@@ -15,8 +15,8 @@ use Tests\TestCase;
final class GitAndAttachmentTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_git_commit_can_be_tracked_against_repository_and_ticket(): void
{
@@ -32,7 +32,7 @@ final class GitAndAttachmentTest extends TestCase
'branch' => 'develop',
'author_name' => 'Mark Gregory',
'author_email' => 'mark@example.com',
'message' => 'Resolve ' . $ticket->reference . ' ticket save redirect',
'message' => 'Resolve '.$ticket->reference.' ticket save redirect',
'url' => 'https://example.com/commit/b',
'committed_at' => now(),
]);
@@ -10,8 +10,8 @@ use Tests\TestCase;
final class HelpdeskRouteTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_authenticated_user_can_open_dashboard_tickets_create_and_settings_pages(): void
{
@@ -19,8 +19,8 @@ use Tests\TestCase;
final class SettingsCrudTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_settings_manager_creates_updates_and_deletes_statuses(): void
{
@@ -14,8 +14,8 @@ use Tests\TestCase;
final class TicketConversationTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_owner_can_add_public_response_to_ticket(): void
{
@@ -14,8 +14,8 @@ use Tests\TestCase;
final class TicketCrudTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_user_can_create_ticket_with_priority_category_team_and_project(): void
{
@@ -125,7 +125,7 @@ final class TicketCrudTest extends TestCase
$ticket = Ticket::query()->where('subject', 'Reference check')->firstOrFail();
self::assertStringStartsWith('HD-' . now()->format('Y') . '-', $ticket->reference);
self::assertStringStartsWith('HD-'.now()->format('Y').'-', $ticket->reference);
self::assertNotNull($ticket->last_activity_at);
}
}
@@ -11,8 +11,8 @@ use Tests\TestCase;
final class TicketPolicyTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_owner_can_view_and_comment_but_cannot_update_ticket(): void
{
@@ -13,8 +13,8 @@ use Tests\TestCase;
final class WorkflowNotificationTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_workflow_dispatch_sends_active_template_and_logs_it(): void
{
@@ -50,7 +50,7 @@ final class WorkflowNotificationTest extends TestCase
'event' => 'ticket.created',
'recipient' => 'requester@example.com',
'status' => 'sent',
'subject' => 'Ticket ' . $ticket->reference . ' raised for Requester Name',
'subject' => 'Ticket '.$ticket->reference.' raised for Requester Name',
]);
}
@@ -12,8 +12,8 @@ use Tests\TestCase;
final class ModelRelationshipTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_ticket_loads_company_project_team_category_priority_status_and_git_commits(): void
{
@@ -11,22 +11,22 @@ use Tests\TestCase;
final class TicketReferenceServiceTest extends TestCase
{
use RefreshDatabase;
use BuildsHelpdeskFixtures;
use RefreshDatabase;
public function test_it_generates_the_first_reference_for_the_current_year(): void
{
$reference = app(TicketReferenceService::class)->next();
self::assertSame('HD-' . now()->format('Y') . '-00001', $reference);
self::assertSame('HD-'.now()->format('Y').'-00001', $reference);
}
public function test_it_generates_the_next_reference_after_existing_tickets(): void
{
$this->ticket(['reference' => 'HD-' . now()->format('Y') . '-00041']);
$this->ticket(['reference' => 'HD-'.now()->format('Y').'-00041']);
$reference = app(TicketReferenceService::class)->next();
self::assertSame('HD-' . now()->format('Y') . '-00042', $reference);
self::assertSame('HD-'.now()->format('Y').'-00042', $reference);
}
}