File: /home/xedaptot/ai.naniguide.com/tests/Unit/RemoteSubscription/RemoteCheckCommandTest.php
<?php
namespace Tests\Unit\RemoteSubscription;
use Tests\TestCase;
use Mockery;
use App\Model\PaymentGateway;
use App\Services\Subscription\SubscriptionManagementService;
class RemoteCheckCommandTest extends TestCase
{
public function test_check_shows_no_gateways_message()
{
$subscriptionService = Mockery::mock(SubscriptionManagementService::class);
$subscriptionService->shouldReceive('getRemoteGateways')->andReturn([]);
$this->app->instance(SubscriptionManagementService::class, $subscriptionService);
$this->artisan('remote:check')
->expectsOutputToContain('No active remote subscription gateways found')
->assertExitCode(0);
}
/**
* Note: Tests that require DB (gateway listing with PlanRemoteMapping counts)
* are not included here since plan_remote_mappings table may not exist.
* The command logic is thoroughly tested via SyncService + DTO unit tests.
*/
protected function tearDown(): void
{
Mockery::close();
parent::tearDown();
}
}