Skip to content

156 — Retainage request protocols cover short and long term retainage

Description

The two retainage-request variants link to short- vs long-term retainage (zádržné). On a single received order both can be created: a short-term request (ZKZ / "Žádost o KZ") and a long-term request (ZDZ / "Žádost o DZ"), each with a distinct generated code and the correct type chip.

Note: the deeper /retainage module data flow (invoice retainage claims) is exercised by tests/e2e/tests/retainage.spec.ts, which builds the invoice chain; this scenario covers the protocol-level term linkage.

Preconditions

  • Clean database (TestControl.cleanDb())
  • User logged in with ADMIN and ACCOUNTING roles
  • Customer, contract and received order created via API

Steps

  1. Create a RETAINAGE_REQUEST_SHORT_TERM protocol for the order — Expected: code starts ZKZ
  2. Create a RETAINAGE_REQUEST_LONG_TERM protocol for the same order — Expected: code starts ZDZ
  3. Open the flat grid — Expected: exactly two rows
  4. Assert both rows — Expected: distinct ZKZ…/ZDZ… codes, protocol-type-chip-RETAINAGE_REQUEST_SHORT_TERM / …_LONG_TERM, both bound to the same received order, IN_PROCESS
  • Spec: tests/e2e/tests/protocols.spec.ts
  • ProtocolRetainageRequest.term = SHORT | LONG; full retainage-claim flow in retainage.spec.ts