3.0 KiB
ADDED Requirements
Requirement: Hierarchical package history display
The H5 client SHALL render each item returned by GET /api/c/v1/asset/package-history as a top-level relationship group and SHALL render its recursively supplied children as associated addon-package entries without flattening, omitting, or moving them to another page.
Scenario: Main package with addon children
- WHEN a returned top-level package has one or more
children - THEN the client displays the main package and all supplied children within the same relationship group
- AND each node retains its own package, usage, status, and traffic-display fields
Scenario: Relationship exception item
- WHEN a top-level item has
relationship_statusequal tomaster_missing - THEN the client displays it as a standalone relationship-exception item
- AND displays
relationship_status_namewhen supplied
Requirement: Group expansion behavior
The H5 client SHALL initialize a package group's visibility from expand_by_default and SHALL allow the customer to toggle groups that have children. Addon nodes SHALL retain their supplied master_usage_id metadata.
Scenario: Default-expanded relationship group
- WHEN a top-level group is returned with
expand_by_defaultequal to true - THEN its children are visible on initial render
Scenario: Customer expands a collapsed group
- WHEN a top-level group with children is returned with
expand_by_defaultequal to false and the customer activates its expand control - THEN every returned child in that group becomes visible
- AND no additional API request is made to retrieve those children
Requirement: Relationship-group pagination
The H5 client SHALL treat page, size, and total from the package-history response as pagination metadata for top-level relationship groups. It SHALL not use a child count or the number of returned nodes to decide whether more pages are available.
Scenario: Last page has a full number of groups
- WHEN the response contains
sizetop-level groups andpage * sizeis greater than or equal tototal - THEN the client indicates that no more relationship groups are available
Scenario: Filtered group response
- WHEN the API returns a complete relationship group because either its main node or an addon node jointly matches the supplied
statusandpackage_typefilter - THEN the client displays the complete returned group without applying node-level filtering
Requirement: Package history failure handling
The H5 client SHALL rely on the shared request layer for non-success package-history responses, preserving the API-provided unified error message and authentication handling.
Scenario: Related master cannot be read
- WHEN the API returns a non-success response because a related master record exists but cannot be displayed
- THEN the client does not synthesize a relationship item
- AND the shared request layer displays the unified API error response