whereDoesntStartWith('wire:model')->merge(['class' => 'space-y-2']) }}
+ @if($model) data-helpdesk-editor-model="{{ $model }}" @endif
x-on:helpdesk-editor-reset.window="if ($event.detail.model === model) clear()"
+ x-on:helpdesk-editor-sync.window="if ($event.detail.model === model) sync()"
x-data="{
model: @js($model),
value: @js($initialValue),
sync() {
this.value = this.$refs.editor.innerHTML;
if (this.model) {
- this.$wire.set(this.model, this.value, false);
+ this.$wire.set(this.model, this.value);
}
},
command(action, value = null) {
@@ -31,7 +33,7 @@
this.value = '';
this.$refs.editor.innerHTML = '';
if (this.model) {
- this.$wire.set(this.model, '', false);
+ this.$wire.set(this.model, '');
}
},
init() {
@@ -60,7 +62,9 @@
loginAs($admin)
->visitRoute('helpdesk.settings')
->waitFor('@helpdesk-settings-manager')
- ->assertSee('Support configuration')
- ->assertSourceHas('Statuses')
- ->assertSourceHas('Priorities')
- ->assertSourceHas('Categories')
- ->assertSourceHas('Teams')
- ->assertSourceHas('Projects')
- ->assertSourceHas('Git')
- ->assertSourceHas('Workflow')
- ->assertSourceHas('Git repositories')
- ->assertSourceHas('Workflow messages')
- ->assertSourceHas('HTML email body');
+ ->assertSee('Support configuration');
+
+ $this->openSettingsSection($browser, 'statuses', 'Statuses');
+ $this->openSettingsSection($browser, 'priorities', 'Priorities');
+ $this->openSettingsSection($browser, 'categories', 'Categories');
+ $this->openSettingsSection($browser, 'teams', 'Teams');
+ $this->openSettingsSection($browser, 'projects', 'Projects');
+ $this->openSettingsSection($browser, 'git', 'Remote URL');
+ $this->openSettingsSection($browser, 'workflow', 'HTML email body');
});
}
diff --git a/Modules/Helpdesk/Tests/Browser/HelpdeskTicketBrowserTest.php b/Modules/Helpdesk/Tests/Browser/HelpdeskTicketBrowserTest.php
index cb87baa9..5fdedf38 100644
--- a/Modules/Helpdesk/Tests/Browser/HelpdeskTicketBrowserTest.php
+++ b/Modules/Helpdesk/Tests/Browser/HelpdeskTicketBrowserTest.php
@@ -64,11 +64,18 @@ final class HelpdeskTicketBrowserTest extends DuskTestCase
$this->setHelpdeskEditor($browser, 'ticket-comment-editor', '
First browser response
');
- $browser->pause(750)
- ->press('@post-comment')
+ $browser->press('@post-comment')
->waitForText('First browser response', 10)
->assertSee('First browser response');
});
+
+ $this->assertDatabaseHas('helpdesk_comments', [
+ 'ticket_id' => $ticket->id,
+ 'parent_id' => null,
+ 'user_id' => $user->id,
+ 'body' => '
First browser response
',
+ 'is_internal' => false,
+ ]);
}
private function setHelpdeskEditor(Browser $browser, string $dusk, string $html): void
@@ -78,17 +85,36 @@ final class HelpdeskTicketBrowserTest extends DuskTestCase
$browser->script(<<