Refactor notification event payloads and listener naming
linter / quality (pull_request) Successful in 1m17s
tests / ci (8.4) (pull_request) Failing after 1m35s

This commit is contained in:
2026-04-25 21:54:42 +00:00
parent 20f89952e7
commit 61505ace23
16 changed files with 286 additions and 115 deletions
@@ -3,8 +3,8 @@
namespace Tests\Feature\Notifications;
use App\Actions\Notifications\RenderDiscordMessageTemplate;
use App\Actions\Notifications\TicketStatusChanged;
use App\Actions\Notifications\TicketStatusChangedPayload;
use App\Enums\NotificationEventType;
use Carbon\CarbonImmutable;
use PHPUnit\Framework\Attributes\DataProvider;
use Tests\TestCase;
@@ -54,7 +54,7 @@ class RenderDiscordMessageTemplateTest extends TestCase
#[DataProvider('supportedVariableProvider')]
public function test_it_replaces_supported_template_variables(string $template, string $expected): void
{
$renderedMessage = app(RenderDiscordMessageTemplate::class)->handle($template, $this->payload());
$renderedMessage = app(RenderDiscordMessageTemplate::class)->handle($template, $this->event());
$this->assertSame($expected, $renderedMessage);
}
@@ -66,16 +66,15 @@ class RenderDiscordMessageTemplateTest extends TestCase
{
$renderedMessage = app(RenderDiscordMessageTemplate::class)->handle(
'[$ticket_key] $unknown moved to $status_to',
$this->payload(),
$this->event(),
);
$this->assertSame('[CORE-42] $unknown moved to Doing', $renderedMessage);
}
private function payload(): TicketStatusChangedPayload
private function event(): TicketStatusChanged
{
return new TicketStatusChangedPayload(
eventType: NotificationEventType::TicketStatusChanged,
return new TicketStatusChanged(new TicketStatusChangedPayload(
projectId: 10,
projectKey: 'CORE',
projectName: 'Core Platform',
@@ -90,6 +89,6 @@ class RenderDiscordMessageTemplateTest extends TestCase
toStatusId: 2,
toStatusLabel: 'Doing',
occurredAt: CarbonImmutable::parse('2026-04-24T09:15:30+00:00'),
);
));
}
}