fix(discord): only send notifications in production

Prevent Discord release notifications from being sent in non-production
environments, avoiding accidental notifications during development and
testing. Added unit tests to verify the behavior.
This commit is contained in:
2026-08-08 12:51:22 +02:00
parent 71d679cc5e
commit 2076517ebd
2 changed files with 43 additions and 0 deletions
@@ -0,0 +1,38 @@
<?php
namespace Tests\Unit;
use App\Jobs\DiscordReleaseNotification;
use Illuminate\Support\Facades\Http;
use Tests\TestCase;
class DiscordReleaseNotificationTest extends TestCase
{
protected function setUp(): void
{
parent::setUp();
Http::fake();
config([
'discord-alerts.webhook_urls.default' => 'https://discord.com/api/webhooks/test/123',
]);
}
public function test_it_does_not_send_outside_production(): void
{
(new DiscordReleaseNotification('some-slug', 'release'))->handle();
Http::assertNothingSent();
}
public function test_it_sends_in_production(): void
{
app()->instance('env', 'production');
(new DiscordReleaseNotification('some-slug', 'release'))->handle();
Http::assertSent(function ($request) {
return str_contains($request->url(), 'https://discord.com/api/webhooks/test/123');
});
}
}