test(admin): qualify recent audit filters and disclosure
@@ -0,0 +1,11 @@
|
||||
# Recent Audit Log filters and event details
|
||||
|
||||
Runtime `cd69b769a232dda959d758b685579354ae35fdd2`. The existing recent-event search combines with an exact event-type selector and inclusive calendar dates in the browser's timezone. An inverted range is announced next to the end date. All filters operate over the existing response of up to 200 events.
|
||||
|
||||
The event details disclosure is closed by default and opens with the keyboard. It shows previous value, new value and any note already permitted by the API. The existing actor, timestamp, job and action columns remain. Filtering excludes notes and change values. No new endpoint, permission or data collection was added.
|
||||
|
||||
The targeted tests cover the last millisecond of a local day, exclusion of the next day, exact event type, invalid range, no additional API request and disclosure in Bokmål. The browser journey checks keyboard expansion, retained notes and redacted search scope, narrow no-match feedback, date readability and the scroll region. All API responses are synthetic. No undo or restore is executed.
|
||||
|
||||
Remaining: historical search, task/correlation/status/severity/component filters with qualified sources, richer safe event history, native-language/device review and integrated security.
|
||||
|
||||
Passed 11 selected frontend tests, full lint, export build with TypeScript, and 36 controlled responsive configurations with 108 scoped axe scans and screenshots. There were zero mutations and page errors, and 36 unavailable company fixture reads outside Audit. The pilot overlaps the matrix. Reviewed the 320 px Bokmål dark filter and expanded-detail captures.
|
||||
@@ -219,9 +219,9 @@
|
||||
"AdminAuditPage"
|
||||
],
|
||||
"visualStatus": "OPEN_COLLECTION_RENDERED_SCOPED_RENDERED_REVIEW",
|
||||
"afterStatus": "PASSED:36 recent-search, no-match, timestamp and keyboard scroll configurations; browser mutations not run",
|
||||
"afterStatus": "PASSED:36 recent-search, event type/date filter, disclosure, no-match and keyboard scroll configurations; browser mutations not run",
|
||||
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
|
||||
"evidence": "AUDIT_SEARCH_REVIEW.md; evidence/audit-search/BROWSER.json; earlier AUDIT_DATE_REVIEW.md and ADMIN_HEADINGS_REVIEW.md"
|
||||
"evidence": "AUDIT_FILTERS_REVIEW.md; evidence/audit-filters/BROWSER.json; earlier AUDIT_SEARCH_REVIEW.md and AUDIT_DATE_REVIEW.md"
|
||||
},
|
||||
{
|
||||
"route": "/admin/users",
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"screens": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "audit-no-matches",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "audit-expanded",
|
||||
"capture": "focused viewport",
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"state": "audit-populated",
|
||||
"capture": "viewport at top",
|
||||
"violations": []
|
||||
}
|
||||
],
|
||||
"journeys": [
|
||||
{
|
||||
"width": 320,
|
||||
"language": "nb",
|
||||
"mode": "dark",
|
||||
"auditSearch": "PASS",
|
||||
"auditTimestampReadable": "PASS",
|
||||
"headerHeight": 44.5,
|
||||
"eventHeight": 79.5,
|
||||
"keyboardScroll": "PASS",
|
||||
"auditMutations": "NOT RUN"
|
||||
}
|
||||
],
|
||||
"errors": [],
|
||||
"unexpectedWrites": [],
|
||||
"exportDenials": [],
|
||||
"unavailableReads": [
|
||||
"/api/companies"
|
||||
],
|
||||
"blockedExternal": [
|
||||
"https://fonts.googleapis.com"
|
||||
],
|
||||
"limits": [
|
||||
"Every API response is synthetic. In admin-only mode all mutations are blocked and account flows are NOT RUN; otherwise account export is a controlled 403 and confirmations are cancelled.",
|
||||
"Only the populated audit table, timestamp geometry and keyboard scrolling are exercised.",
|
||||
"No real credentials, provider activation, model, native device, integrated security, production or release acceptance."
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 55 KiB |