<?php

use Illuminate\Support\Facades\Artisan;

it('schedules maintenance and engagement commands', function () {
    Artisan::call('schedule:list', [
        '--json' => true,
    ]);

    $tasks = json_decode(Artisan::output(), true, flags: JSON_THROW_ON_ERROR);
    $commands = collect($tasks)->pluck('command');

    expect($commands)
        ->toContain('php artisan sanctum:prune-expired --hours=24')
        ->toContain('php artisan auth:clear-resets')
        ->toContain('php artisan device-tokens:prune-stale --days=180')
        ->toContain('php artisan notifications:send-engagement-reminders');
});
