2076517ebd
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.
39 lines
952 B
PHP
39 lines
952 B
PHP
<?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');
|
|
});
|
|
}
|
|
}
|