toBeTrue() ->and('ValidatePrerequisites should return array with keys: '.implode(', ', $expectedKeys)) ->toBeString(); }); it('validates required commands list', function () { // Verify the action checks for the correct prerequisites $requiredCommands = ['git', 'curl', 'jq']; expect($requiredCommands)->toHaveCount(3) ->and($requiredCommands)->toContain('git') ->and($requiredCommands)->toContain('curl') ->and($requiredCommands)->toContain('jq'); }); it('return structure has correct types', function () { // Verify the expected return structure types $expectedStructure = [ 'success' => 'boolean', 'missing' => 'array', 'found' => 'array', ]; expect($expectedStructure['success'])->toBe('boolean') ->and($expectedStructure['missing'])->toBe('array') ->and($expectedStructure['found'])->toBe('array'); });