- Added VPN connection requirement to README.md for local access to the Logistics API. - Updated documentation_api_logistics.md to clarify usage environments and provide detailed connection instructions. - Modified update-documentation.mdc to include guidelines on handling sensitive information in examples. - Implemented automatic heading ID generation in Documentation.php for better navigation in the documentation. - Updated logistics.php configuration to include default values for base URL, API key, and folder. - Added support contact information in the dashboard view for API-related issues.
86 lines
2.6 KiB
PHP
86 lines
2.6 KiB
PHP
<?php
|
|
|
|
use App\Filament\Pages\Documentation;
|
|
use App\Models\User;
|
|
use Livewire\Livewire;
|
|
|
|
beforeEach(function () {
|
|
$this->actingAs(User::factory()->create());
|
|
});
|
|
|
|
it('renders the documentation page', function () {
|
|
Livewire::test(Documentation::class)
|
|
->assertSuccessful()
|
|
->assertSee('Documentation API Logistics');
|
|
});
|
|
|
|
it('converts markdown to HTML content', function () {
|
|
$component = Livewire::test(Documentation::class);
|
|
|
|
expect($component->get('htmlContent'))
|
|
->toBeString()
|
|
->not->toBeEmpty()
|
|
->toContain('<h1 id="')
|
|
->toContain('<table>');
|
|
});
|
|
|
|
it('generates heading IDs matching the table of contents anchors', function () {
|
|
$html = Livewire::test(Documentation::class)->get('htmlContent');
|
|
|
|
$anchors = [
|
|
'1-pré-requis',
|
|
'2-environnements-dutilisation',
|
|
'3-comment-effectuer-des-requêtes',
|
|
'4-structure-de-réponse',
|
|
'5-tables-et-colonnes-disponibles',
|
|
'6-récupération-de-données',
|
|
'7-envoi-de-données',
|
|
'8-endpoints-non-fonctionnels',
|
|
'9-relations-entre-entités',
|
|
'10-remarques-et-points-dattention',
|
|
'11-ressources-externes',
|
|
];
|
|
|
|
foreach ($anchors as $anchor) {
|
|
expect($html)->toContain("id=\"{$anchor}\"");
|
|
}
|
|
});
|
|
|
|
it('displays the main documentation sections', function () {
|
|
Livewire::test(Documentation::class)
|
|
->assertSee('Pré-requis')
|
|
->assertSee('Comment effectuer des requêtes')
|
|
->assertSee('Structure de réponse')
|
|
->assertSee('Tables et colonnes disponibles')
|
|
->assertSee('Récupération de données')
|
|
->assertSee('Envoi de données');
|
|
});
|
|
|
|
it('downloads the documentation as PDF', function () {
|
|
$response = $this->get(route('documentation.download-pdf'));
|
|
|
|
$response->assertSuccessful()
|
|
->assertHeader('content-type', 'application/pdf');
|
|
});
|
|
|
|
it('documents all service endpoints', function () {
|
|
Livewire::test(Documentation::class)
|
|
->assertSee('tables_list')
|
|
->assertSee('column_list')
|
|
->assertSee('art_list')
|
|
->assertSee('art_getstk')
|
|
->assertSee('jnl_list')
|
|
->assertSee('document_list')
|
|
->assertSee('document_detail')
|
|
->assertSee('document_add')
|
|
->assertSee('document_mod')
|
|
->assertSee('Document_GetStatusList')
|
|
->assertSee('Document_GetUnitPriceAndVat')
|
|
->assertSee('Document_GetDueDate')
|
|
->assertSee('Document_GetAttachListThumbnail')
|
|
->assertSee('third_list')
|
|
->assertSee('third_GetArtHistory')
|
|
->assertSee('getserialnumber')
|
|
->assertSee('codes_list');
|
|
});
|