<?php
use Illuminate\Process\PendingProcess;
use Illuminate\Support\Facades\Process;
it('lists unique intent tags and respects the limit option', function () {
Process::fake(function (PendingProcess $process) {
return match ($process->command) {
['pijul', 'log', '--output-format', 'json', '--limit', '2'] => Process::result(json_encode([
['message' => 'feat(pijul-qol): first'],
['message' => 'feat(init): second'],
['message' => 'feat(pijul-qol): duplicate'],
['message' => 'plain message'],
], JSON_THROW_ON_ERROR)),
default => Process::result('', 'Unexpected command.', 1),
};
});
$this->artisan('pijul:list-intent-tags', ['--limit' => '2'])
->expectsOutput('feat(pijul-qol)')
->expectsOutput('feat(init)')
->assertExitCode(0);
});