feat/011-restore-run-wizard (#37)

fix restore graph problem

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #37
This commit is contained in:
ahmido 2026-01-07 01:40:04 +00:00
parent a62c855851
commit 78467a76ac
4 changed files with 52 additions and 1 deletions

View File

@ -19,6 +19,8 @@
'type_family' => [
'#microsoft.graph.deviceConfiguration',
'#microsoft.graph.windows10CustomConfiguration',
'#microsoft.graph.windows10GeneralConfiguration',
'#microsoft.graph.windowsHealthMonitoringConfiguration',
'#microsoft.graph.iosGeneralDeviceConfiguration',
'#microsoft.graph.androidGeneralDeviceConfiguration',
'#microsoft.graph.macOSGeneralDeviceConfiguration',
@ -344,6 +346,8 @@
'#microsoft.graph.windows10CompliancePolicy',
'#microsoft.graph.iosCompliancePolicy',
'#microsoft.graph.androidCompliancePolicy',
'#microsoft.graph.androidDeviceOwnerCompliancePolicy',
'#microsoft.graph.androidWorkProfileCompliancePolicy',
'#microsoft.graph.macOSCompliancePolicy',
],
'create_method' => 'POST',
@ -369,6 +373,7 @@
'#microsoft.graph.targetedManagedAppProtection',
'#microsoft.graph.iosManagedAppProtection',
'#microsoft.graph.androidManagedAppProtection',
'#microsoft.graph.windowsManagedAppProtection',
'#microsoft.graph.windowsInformationProtectionPolicy',
'#microsoft.graph.mdmWindowsInformationProtectionPolicy',
],
@ -574,7 +579,11 @@
'resource' => 'deviceManagement/deviceEnrollmentConfigurations',
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'version'],
'allowed_expand' => [],
'type_family' => [],
'type_family' => [
'#microsoft.graph.deviceEnrollmentConfiguration',
'#microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration',
'#microsoft.graph.windowsRestoreDeviceEnrollmentConfiguration',
],
'create_method' => 'POST',
'update_method' => 'PATCH',
'id_field' => 'id',

View File

@ -38,6 +38,7 @@ ## Phase 7 — Tests + Formatting
- [x] T018 Add Pest tests for wizard gating rules and status transitions.
- [x] T019 Add Pest tests for safety checks persistence and blocking behavior.
- [x] T020 Add Pest tests for preview summary generation.
- [x] T024 Fix Graph contract type families to accept valid derived @odata.type values during restore.
- [x] T021 Run `./vendor/bin/pint --dirty`.
- [x] T022 Run targeted tests (e.g. `./vendor/bin/sail artisan test --filter=RestoreRunWizard` once tests exist).

View File

@ -19,6 +19,9 @@
->use(RefreshDatabase::class)
->in('Feature');
pest()->extend(Tests\TestCase::class)
->in('Unit');
beforeEach(function () {
putenv('INTUNE_TENANT_ID');
unset($_ENV['INTUNE_TENANT_ID'], $_SERVER['INTUNE_TENANT_ID']);

View File

@ -0,0 +1,38 @@
<?php
use App\Models\BackupItem;
it('accepts derived deviceConfiguration odata types', function (string $odataType) {
$result = BackupItem::validateODataType(['@odata.type' => $odataType], 'deviceConfiguration', 'all');
expect($result['matches'])->toBeTrue();
})->with([
'#microsoft.graph.windows10GeneralConfiguration',
'#microsoft.graph.windowsHealthMonitoringConfiguration',
]);
it('accepts derived deviceCompliancePolicy odata types', function (string $odataType) {
$result = BackupItem::validateODataType(['@odata.type' => $odataType], 'deviceCompliancePolicy', 'all');
expect($result['matches'])->toBeTrue();
})->with([
'#microsoft.graph.androidDeviceOwnerCompliancePolicy',
'#microsoft.graph.androidWorkProfileCompliancePolicy',
]);
it('accepts derived appProtectionPolicy odata types', function (string $odataType) {
$result = BackupItem::validateODataType(['@odata.type' => $odataType], 'appProtectionPolicy', 'mobile');
expect($result['matches'])->toBeTrue();
})->with([
'#microsoft.graph.windowsManagedAppProtection',
]);
it('accepts derived enrollmentRestriction odata types', function (string $odataType) {
$result = BackupItem::validateODataType(['@odata.type' => $odataType], 'enrollmentRestriction', 'all');
expect($result['matches'])->toBeTrue();
})->with([
'#microsoft.graph.deviceEnrollmentWindowsHelloForBusinessConfiguration',
'#microsoft.graph.windowsRestoreDeviceEnrollmentConfiguration',
]);