25 lines
1.7 KiB
Markdown
25 lines
1.7 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Mall aftersale customer flow
|
|
The Mall SHALL use the shared selected API adapter to expose an after-sale action for eligible order items, an aftersale list and detail view, chronological buyer/merchant messages, cancellation and one-time rejected appeal, and return-refund shipping tracking. The form SHALL show the localized reason/type, integer minor-unit amount and remaining limit, evidence URL inputs, current status, and authoritative refund result. Anonymous actions SHALL redirect to sign-in with the current route as return destination.
|
|
|
|
#### Scenario: apply from an eligible order line
|
|
- **WHEN** a signed-in shopper opens a paid or shipped order inside its after-sale window and submits a valid item application
|
|
- **THEN** the Mall creates the aftersale through the shared client and shows its pending status without fixture-only state
|
|
|
|
#### Scenario: return shipping is recorded
|
|
- **WHEN** an approved return-refund shopper submits carrier and tracking data
|
|
- **THEN** the detail view shows the buyer-shipping status and the persisted tracking information after reload
|
|
|
|
#### Scenario: shopper cancels an application
|
|
- **WHEN** a shopper cancels a non-terminal pending aftersale
|
|
- **THEN** the API state and list/detail views show cancelled and merchant actions are no longer offered
|
|
|
|
#### Scenario: shopper messages the merchant
|
|
- **WHEN** a shopper sends a localized message with optional evidence URLs
|
|
- **THEN** it appears in chronological detail history and remains after a reload
|
|
|
|
#### Scenario: fixed adapter remains usable
|
|
- **WHEN** the aftersale domain is configured for fixed data
|
|
- **THEN** Mall list, detail, messages, cancellation, tracking, and refund-history flows behave deterministically through the same shared methods
|