Skip to content

ATS-COM-FUL-010Configure shipping coverage and collection options: Acceptance Test Set

Markdown

ATS-COM-FUL-010

Configure shipping coverage and collection options: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-COM-FUL-010

KindAcceptance test setProduct areaCommerceModuleFulfillment, Shipping and InventoryRevision1

Read atservices-commerce c8b66a98

Test Scenarios

5 scenarios proving CAP-COM-FUL-010; 5 bound to an existing test.

01 Invalid destination values fail by fieldapinegativetest
Proves
BR-CAP-COM-FUL-010-01
Preconditions
An administrator can configure zones.
Steps
Submit lowercase country codes and blank region or prefix values, then clear a description explicitly.
Expected
Malformed fields fail validation and the explicit clearing value removes the description.
Data
Fixtures for invalid destination values fail by field.
Bound to
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses a zone naming a country that is not two upper-case letters, by shipping_zones_country_codes_check
services-commerce:modules/shipping/tests/unit/api/blank-shipping-configuration-values.spec.js#refuses a zone with region_codes [""] 400 naming region_codes, instead of making a zone of no region
services-commerce:modules/shipping/tests/unit/api/blank-shipping-configuration-values.spec.js#refuses a whitespace-only postal code prefix on a zone replacement, naming postal_code_prefixes
services-commerce:modules/shipping/tests/unit/api/blank-shipping-configuration-values.spec.js#clears a zone’s description on an explicit null, the one way to clear it
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#refuses a zone with a blank region code 400 naming region_codes and creates nothing; a blank description on a replacement 400, only null clearing it (Q06)
Source
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses a zone naming a country that is not two upper-case letters, by shipping_zones_country_codes_check
02 Zone version and deletion guards preserve configurationapinegativetest
Proves
BR-CAP-COM-FUL-010-02 BR-CAP-COM-FUL-010-03
Preconditions
A zone owns shipping strategies.
Steps
Try duplicate identity, stale replacement and zone deletion.
Expected
Identity and version conflicts fail, while successful deletion removes the dependent strategies.
Data
Fixtures for zone version and deletion guards preserve configuration.
Bound to
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#writes the zone under the id its name suggests, the countries upper-cased, at version 1
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses deleting an account a strategy rates through (RESTRICT), by shipping_strategies_carrier_account_fk, and cascades a zone’s strategies with the zone
Source
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#writes the zone under the id its name suggests, the countries upper-cased, at version 1
03 Strategy validation includes pickup dependenciesapinegativetest
Proves
BR-CAP-COM-FUL-010-04 BR-CAP-COM-FUL-010-05
Preconditions
A zone and warehouse exist.
Steps
Try unsupported kinds, unordered bands, missing carrier account, charged pickup and two pickup destinations, then delete a referenced warehouse.
Expected
Invalid strategies and dependent-warehouse deletion are rejected.
Data
Fixtures for strategy validation includes pickup dependencies.
Bound to
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#holds the rules before the row: bands in ascending order with the open one last, a carrier naming its account, no bands on a flat one
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#refuses a strategy of a kind outside the four 400, and one whose bands are out of order 400
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#holds a carrier strategy to naming its account and a flat one to naming none, by shipping_strategies_carrier_check
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#holds a pickup strategy to naming where the buyer collects and charging nothing, by shipping_strategies_pickup_check
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses a pickup at a warehouse the tenant does not have, by shipping_strategies_pickup_warehouse_fk, and a warehouse delete while a pickup names it (RESTRICT)
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#holds a pickup strategy’s rules before the row: a location named, one only, no charge; and a shipped kind naming none
Source
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#holds the rules before the row: bands in ascending order with the open one last, a carrier naming its account, no bands on a flat one
04 Carrier configuration retains connection references without secretsapinegativetest
Proves
BR-CAP-COM-FUL-010-06 BR-CAP-COM-FUL-010-07 BR-CAP-COM-FUL-010-08
Preconditions
An administrator can manage carrier accounts.
Steps
Try an unknown carrier, markup above 100 percent, absent UPS connection, connection removal and referenced-account deletion.
Expected
Invalid or dependent changes fail and valid reads expose references without credentials.
Data
Fixtures for carrier configuration retains connection references without secrets.
Bound to
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses a carrier outside the six and a markup above 100 %, by carrier_accounts_carrier_check and carrier_accounts_markup_check
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#answers the carrier account with its connection reference and never a secret
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#refuses a UPS account without its Integration Platform connection 400 connection_required, writing nothing
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#refuses a replacement that takes a UPS account’s connection away 400 connection_required, the account unchanged
services-commerce:modules/shipping/tests/integration/services/persistence/shipping-configuration.integration.spec.js#writes an account with its connection reference and shipper number and no secret, lists by carrier, and refuses deleting one a strategy rates through (409)
Source
services-commerce:modules/shipping/tests/integration/db/shipping-tables.table.integration.spec.js#refuses a carrier outside the six and a markup above 100 %, by carrier_accounts_carrier_check and carrier_accounts_markup_check
05 Configuration access separates reads from writesapinegativetest
Proves
BR-CAP-COM-FUL-010-09
Preconditions
Reader, application-denied and unauthenticated identities are available.
Steps
Exercise list, detail and mutation requests under each identity.
Expected
Only authorized reading is allowed to the reader, and denied or missing identities fail.
Data
Fixtures for configuration access separates reads from writes.
Bound to
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#lets a reader list and read, refuses the reader every write 403 permission_missing, a denied principal 403 app_not_permitted, and no context 401
Source
services-commerce:modules/shipping/tests/e2e/shipping.e2e.spec.js#lets a reader list and read, refuses the reader every write 403 permission_missing, a denied principal 403 app_not_permitted, and no context 401

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.