Skip to main content
Glama
DocumentationLoaderTest.php2.43 kB
<?php declare(strict_types=1); use GoldenPathDigital\LaravelAscend\Documentation\DocumentationLoader; use GoldenPathDigital\LaravelAscend\Documentation\DocumentationParser; beforeEach(function (): void { $basePath = dirname(__DIR__, 2) . '/resources/knowledge-base'; $this->loader = new DocumentationLoader($basePath, new DocumentationParser()); }); it('loads knowledge base metadata from the index', function (): void { $index = $this->loader->loadIndex(); expect($index) ->toBeArray() ->toHaveKey('knowledge_base_version') ->toHaveKey('laravel_versions_covered'); expect($this->loader->getKnowledgeBaseVersion())->toBeString(); expect($this->loader->getLaravelVersionsCovered())->toBeArray()->not->toBeEmpty(); }); it('loads a breaking change document by slug', function (): void { $document = $this->loader->loadBreakingChangeDocument('laravel-7'); expect($document) ->toBeArray() ->toHaveKey('version', '7.0') ->toHaveKey('breaking_changes'); expect($document['breaking_changes'])->toBeArray()->not->toBeEmpty(); }); it('aggregates individual breaking change entries', function (): void { $entries = $this->loader->loadBreakingChangeEntries(); expect($entries) ->toBeArray() ->toHaveKey('laravel-7::symfony-5-method-signatures'); $entry = $entries['laravel-7::symfony-5-method-signatures']; expect($entry) ->toHaveKey('id', 'symfony-5-method-signatures') ->toHaveKey('title') ->toHaveKey('version', '7.0'); }); it('loads pattern documents and individual patterns', function (): void { $patterns = $this->loader->loadPatternDocuments(); expect($patterns) ->toBeArray() ->toHaveKey('accessor-mutator-attribute-syntax'); $pattern = $this->loader->loadPatternDocument('accessor-mutator-attribute-syntax'); expect($pattern) ->toHaveKey('name') ->toHaveKey('description'); }); it('loads upgrade path data with sequencing', function (): void { $upgradePaths = $this->loader->loadUpgradePaths(); expect($upgradePaths) ->toBeArray() ->toHaveKey('upgrade_paths') ->and($upgradePaths['upgrade_paths'])->toHaveKey('6-to-7'); $path = $upgradePaths['upgrade_paths']['6-to-7']; expect($path) ->toHaveKey('sequence') ->and($path['sequence'])->toBeArray()->not->toBeEmpty(); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aarongrtech/laravel-ascend'

If you have feedback or need assistance with the MCP directory API, please join our Discord server