Skip to content

ATS-PFM-OPS-009Review a person’s record-view history: Capability Test Specification

Markdown

ATS-PFM-OPS-009

Review a person’s record-view history: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-OPS-009

Design

Executed by
TST-PFM-OPS-059, TST-PFM-OPS-061, TST-PFM-OPS-064

KindAcceptance test setProduct areaPlatformModuleOperational RecordsRevision2

Read atservices-platform ad3f6a65macroservice-libraries 54536a44react-console baf6dae3

Coverage

  • Rule gap: FND-PFM-OPS-061
  • Transition not-applicable
  • Validation covered
  • Permission covered
  • Edge covered
  • Failure gap: FND-PFM-OPS-061
  • Boundary covered
  • Concurrency gap: FND-PFM-OPS-061
  • Invariant gap: FND-PFM-OPS-061
  • Interaction covered

Test Scenarios

7 scenarios proving CAP-PFM-OPS-009; 6 bound to an existing test.

01 Separate history permission tierspermissionunitnegativetest
Proves
BR-CAP-PFM-OPS-009-01
Preconditions
Own and colleague-history permission declarations are available.
Steps
Inspect their tier and sensitivity metadata.
Expected
Own history is reading authority and colleague history is sensitive administrator authority.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/audit/tests/unit/aws/api/audit-permissions.spec.ts#declares reading another user’s audit events at the admin tier, which is what keeps it out of Read Only
02 Retain visits after record removaledgeapitest
Proves
BR-CAP-PFM-OPS-009-02
Preconditions
A viewed contact has since been deleted.
Steps
Read the actor’s raw history.
Expected
The retained visit does not depend on current record resolution.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/audit/tests/integration/services/record-views/view-history.integration.spec.js#still holds the view after the contact is gone, because a trail is not a list of records
03 Bound requested history sizesboundaryapinegativetest
Proves
BR-CAP-PFM-OPS-009-03
Preconditions
The actor has enough visits to fill pages.
Steps
Request default, maximum, excessive and zero page sizes.
Expected
Default and maximum work while invalid sizes are refused.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/audit/tests/integration/services/record-views/view-history.integration.spec.js#refuses a page larger than the maximum, naming it
04 Traverse equal-time eventsboundaryapinegativetest
Proves
BR-CAP-PFM-OPS-009-04 INV-DOM-PFM-OPS-002-07
Preconditions
Several visits share a timestamp across a page boundary.
Steps
Read small successive pages and try malformed continuation.
Expected
Each visit appears once and malformed continuation fails.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/audit/tests/integration/services/persistence/audit-events.queries.integration.spec.js#steps over the tie correctly when a page boundary falls inside it
05 Validate the record-type filtervalidationapinegativetest
Proves
BR-CAP-PFM-OPS-009-05
Preconditions
History contains contact and organization visits.
Steps
Filter for contacts and then an unsupported type.
Expected
The supported filter narrows results and the unsupported type is refused.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/audit/tests/integration/services/record-views/view-history.integration.spec.js#refuses a record type the registry does not hold, rather than answering an empty page
06 Keep actor and workspace isolationpermissionapitest
Proves
BR-CAP-PFM-OPS-009-06
Preconditions
Two actors have visits in two workspaces.
Steps
Read one actor within one workspace.
Expected
Only that actor’s local visits are returned.
Data
Controlled records and caller contexts matching this scenario’s preconditions.
Bound to
Source
services-platform:modules/audit/tests/integration/services/record-views/view-history.integration.spec.js#answers nothing of another tenant’s history
07 Retain history after its target disappearsinteractionapiproposed
Proves
BR-CAP-PFM-OPS-009-02 BR-CAP-PFM-OPS-010-03
Preconditions
A person has a stored visit and the target record is subsequently removed.
Steps
Read that person’s raw history and compare it with currently resolvable recent records.
Expected
The visit remains in raw history even when the target cannot appear in a current record list.
Data
Isolated workspace records and caller contexts for both sides of the interaction.
Source
services-platform:modules/audit/tests/integration/services/record-views/view-history.integration.spec.js#still holds the view after the contact is gone, because a trail is not a list of records; services-platform:modules/audit/tests/integration/db/audit-events.table.integration.spec.js#refuses an UPDATE of the event by the application role, so a trail cannot be rewritten; CAP-PFM-OPS-010;

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.