31 lines
1.1 KiB
PHP
31 lines
1.1 KiB
PHP
<?php
|
|
|
|
use App\Services\Graph\GraphContractRegistry;
|
|
use Tests\TestCase;
|
|
|
|
uses(TestCase::class);
|
|
|
|
it('builds settings write method and path from the contract', function () {
|
|
config()->set('graph_contracts.types.settingsCatalogPolicy', [
|
|
'settings_write' => [
|
|
'path_template' => 'deviceManagement/configurationPolicies/{id}/settings/{settingId}',
|
|
'method' => 'PATCH',
|
|
],
|
|
]);
|
|
|
|
$registry = app(GraphContractRegistry::class);
|
|
|
|
expect($registry->settingsWriteMethod('settingsCatalogPolicy'))->toBe('PATCH');
|
|
expect($registry->settingsWritePath('settingsCatalogPolicy', 'policy-1', 'setting-9'))
|
|
->toBe('deviceManagement/configurationPolicies/policy-1/settings/setting-9');
|
|
});
|
|
|
|
it('returns null when settings write contract is missing', function () {
|
|
config()->set('graph_contracts.types.settingsCatalogPolicy', []);
|
|
|
|
$registry = app(GraphContractRegistry::class);
|
|
|
|
expect($registry->settingsWriteMethod('settingsCatalogPolicy'))->toBeNull();
|
|
expect($registry->settingsWritePath('settingsCatalogPolicy', 'policy-1', 'setting-9'))->toBeNull();
|
|
});
|