added jquery and also fixed fontawsome
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Helpdesk\Tests\Browser;
|
||||
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Laravel\Dusk\Browser;
|
||||
use Modules\Helpdesk\Tests\Concerns\BuildsHelpdeskFixtures;
|
||||
use Tests\DuskTestCase;
|
||||
|
||||
final class HelpdeskKanbanBrowserTest extends DuskTestCase
|
||||
{
|
||||
use BuildsHelpdeskFixtures;
|
||||
use DatabaseMigrations;
|
||||
|
||||
/** @test */
|
||||
public function kanban_board_is_available_from_helpdesk_module(): void
|
||||
{
|
||||
$lookups = $this->seedLookupData();
|
||||
$user = $this->admin();
|
||||
|
||||
$this->ticket([
|
||||
'owner' => $user,
|
||||
'status_id' => $lookups['open']->id,
|
||||
'priority_id' => $lookups['high']->id,
|
||||
'subject' => 'Kanban browser ticket',
|
||||
]);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user): void {
|
||||
$browser->loginAs($user)
|
||||
->visitRoute('helpdesk.kanban')
|
||||
->assertPresent('@helpdesk-kanban-board')
|
||||
->assertSee('Kanban board')
|
||||
->assertSee('Kanban browser ticket')
|
||||
->assertPresent('@kanban-column-open');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Helpdesk\Tests\Browser;
|
||||
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Laravel\Dusk\Browser;
|
||||
use Modules\Helpdesk\Tests\Concerns\BuildsHelpdeskFixtures;
|
||||
use Tests\DuskTestCase;
|
||||
|
||||
final class HelpdeskNavigationBrowserTest extends DuskTestCase
|
||||
{
|
||||
use BuildsHelpdeskFixtures;
|
||||
use DatabaseMigrations;
|
||||
|
||||
public function test_helpdesk_dashboard_and_main_pages_render_with_professional_headers(): void
|
||||
{
|
||||
$this->seedLookupData();
|
||||
$user = $this->admin(['name' => 'Mark Gregory']);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user): void {
|
||||
$browser->loginAs($user)
|
||||
->visitRoute('helpdesk.index')
|
||||
->waitFor('@helpdesk-dashboard-widget')
|
||||
->assertSee('Helpdesk dashboard')
|
||||
->assertSee('Total tickets')
|
||||
->assertSee('Open tickets')
|
||||
->assertSee('Closed tickets')
|
||||
->clickLink('Tickets')
|
||||
->waitFor('@helpdesk-ticket-index')
|
||||
->assertSee('Active tickets')
|
||||
->clickLink('New ticket')
|
||||
->waitFor('@helpdesk-ticket-create')
|
||||
->assertSee('Create ticket')
|
||||
->visitRoute('helpdesk.settings')
|
||||
->waitFor('@helpdesk-settings-manager')
|
||||
->assertSee('Support configuration')
|
||||
->assertSee('Statuses')
|
||||
->assertSee('Priorities')
|
||||
->assertSee('Projects')
|
||||
->assertSee('Workflow');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Helpdesk\Tests\Browser;
|
||||
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Laravel\Dusk\Browser;
|
||||
use Modules\Helpdesk\Tests\Concerns\BuildsHelpdeskFixtures;
|
||||
use Tests\DuskTestCase;
|
||||
|
||||
final class HelpdeskSettingsBrowserTest extends DuskTestCase
|
||||
{
|
||||
use BuildsHelpdeskFixtures;
|
||||
use DatabaseMigrations;
|
||||
|
||||
public function test_settings_tabs_expose_lookup_git_and_workflow_setup_areas(): void
|
||||
{
|
||||
$this->seedLookupData();
|
||||
$admin = $this->admin(['name' => 'Settings Admin']);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($admin): void {
|
||||
$browser->loginAs($admin)
|
||||
->visitRoute('helpdesk.settings')
|
||||
->waitFor('@helpdesk-settings-manager')
|
||||
->assertSee('Support configuration')
|
||||
->assertSee('Statuses')
|
||||
->assertSee('Priorities')
|
||||
->assertSee('Categories')
|
||||
->assertSee('Teams')
|
||||
->assertSee('Projects')
|
||||
->assertSee('Git')
|
||||
->assertSee('Workflow')
|
||||
->assertSee('Canned')
|
||||
->assertSee('SLA')
|
||||
->assertSee('Rules')
|
||||
->assertSee('Checks')
|
||||
->assertSee('Tags')
|
||||
->assertSee('Products')
|
||||
->press('Git')
|
||||
->waitForText('Git repositories')
|
||||
->assertSee('Remote URL')
|
||||
->press('Workflow')
|
||||
->waitForText('Workflow messages')
|
||||
->assertSee('HTML email body')
|
||||
->press('Canned')
|
||||
->waitForText('Canned responses')
|
||||
->assertSee('Reply body')
|
||||
->press('SLA')
|
||||
->waitForText('SLA policies')
|
||||
->assertSee('First response minutes')
|
||||
->press('Rules')
|
||||
->waitForText('Email automation rules')
|
||||
->assertSee('Subject contains')
|
||||
->press('Checks')
|
||||
->waitForText('Checklist templates')
|
||||
->assertSee('Checklist items')
|
||||
->press('Tags')
|
||||
->waitForText('Ticket tags')
|
||||
->assertSee('Colour')
|
||||
->press('Products')
|
||||
->waitForText('Products and services')
|
||||
->assertSee('Release/build');
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Helpdesk\Tests\Browser;
|
||||
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Laravel\Dusk\Browser;
|
||||
use Modules\Helpdesk\Tests\Concerns\BuildsHelpdeskFixtures;
|
||||
use Tests\DuskTestCase;
|
||||
|
||||
final class HelpdeskTicketBrowserTest extends DuskTestCase
|
||||
{
|
||||
use BuildsHelpdeskFixtures;
|
||||
use DatabaseMigrations;
|
||||
|
||||
public function test_user_can_create_and_view_ticket_in_browser(): void
|
||||
{
|
||||
$fixtures = $this->seedLookupData();
|
||||
$user = $this->user(['name' => 'Ticket Browser User']);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user, $fixtures): void {
|
||||
$browser->loginAs($user)
|
||||
->visitRoute('helpdesk.tickets.create')
|
||||
->waitFor('@helpdesk-ticket-create')
|
||||
->type('@ticket-subject', 'Browser created helpdesk ticket')
|
||||
->script("document.querySelector('[dusk=\"ticket-body-editor\"] [contenteditable=\"true\"]').innerHTML = '<p>This browser ticket proves the form saves correctly.</p>'; document.querySelector('[dusk=\"ticket-body-editor\"] [contenteditable=\"true\"]').dispatchEvent(new Event('input', { bubbles: true }));");
|
||||
|
||||
$browser->select('@ticket-priority', (string) $fixtures['high']->id)
|
||||
->select('@ticket-category', (string) $fixtures['category']->id)
|
||||
->select('@ticket-team', (string) $fixtures['team']->id)
|
||||
->select('@ticket-project', (string) $fixtures['project']->id)
|
||||
->press('@save-ticket')
|
||||
->waitFor('@helpdesk-ticket-show')
|
||||
->assertSee('Browser created helpdesk ticket')
|
||||
->assertSee('High')
|
||||
->assertSee('Support')
|
||||
->assertSee('Ticket details');
|
||||
});
|
||||
}
|
||||
|
||||
public function test_user_can_add_nested_response_in_browser(): void
|
||||
{
|
||||
$fixtures = $this->seedLookupData();
|
||||
$user = $this->user(['name' => 'Response Browser User']);
|
||||
$ticket = $this->ticket(['owner' => $user, 'status_id' => $fixtures['open']->id, 'priority_id' => $fixtures['normal']->id, 'subject' => 'Browser response ticket']);
|
||||
|
||||
$this->browse(function (Browser $browser) use ($user, $ticket): void {
|
||||
$browser->loginAs($user)
|
||||
->visitRoute('helpdesk.tickets.show', $ticket)
|
||||
->waitFor('@helpdesk-ticket-show')
|
||||
->script("document.querySelector('[dusk=\"ticket-comment-editor\"] [contenteditable=\"true\"]').innerHTML = '<p>First browser response</p>'; document.querySelector('[dusk=\"ticket-comment-editor\"] [contenteditable=\"true\"]').dispatchEvent(new Event('input', { bubbles: true }));");
|
||||
|
||||
$browser->press('@post-comment')
|
||||
->waitForText('First browser response')
|
||||
->assertSee('First browser response');
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user