Adds Inventory Sync toggle include_foundations (default true) + persistence tests Adds Coverage “Dependencies” column (✅/—) derived deterministically from graph_contracts (no Graph calls) Spec/tasks/checklists updated + tasks ticked off Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #51
33 lines
1.4 KiB
Markdown
33 lines
1.4 KiB
Markdown
# Quickstart: Foundations in Inventory (047)
|
||
|
||
## Goal
|
||
Verify that foundations are synced as `InventoryItem` records when `include_foundations=true`, and are not synced when `include_foundations=false`.
|
||
|
||
## Preconditions
|
||
- Local dev via Sail is running.
|
||
- You have at least one tenant configured with valid Graph credentials.
|
||
|
||
## Steps
|
||
|
||
1. Run an inventory sync with foundations enabled
|
||
- Use the Inventory UI sync button (Spec 046) with `include_foundations=true`, or run the relevant flow in your preferred admin path.
|
||
|
||
2. Confirm foundation nodes exist
|
||
- In Inventory Items, filter `Category = Foundations`.
|
||
- Confirm you can find:
|
||
- Scope tags (`roleScopeTag`)
|
||
- Assignment filters (`assignmentFilter`)
|
||
- Notification templates (`notificationMessageTemplate`)
|
||
|
||
3. Confirm coverage shows both matrices
|
||
- Open Inventory → Coverage.
|
||
- Confirm both headings are present: “Policies” and “Foundations”.
|
||
|
||
4. Confirm name resolution (Spec 042.2)
|
||
- Open a policy that references scope tags or assignment filters.
|
||
- In the Dependencies section, confirm targets render with resolved display names sourced from local inventory.
|
||
|
||
## Troubleshooting
|
||
- If foundation types do not appear, confirm they exist in `config('tenantpilot.foundation_types')` and have Graph contracts in `config/graph_contracts.php`.
|
||
- If UI doesn’t reflect changes, rebuild assets if needed (`npm run dev` / `composer run dev`) and confirm cache is cleared.
|