Generate the browser contract from ProductApi
This commit is contained in:
parent
67cc0cb802
commit
c9642f4067
1 changed files with 2572 additions and 130 deletions
|
|
@ -13,6 +13,20 @@ examples, and Hedgehog through Tasty Hedgehog for generated properties.
|
|||
Hedgehog failures include the seed needed to replay the shrunk counterexample.
|
||||
Generators represent valid and invalid domains with distinct types.
|
||||
|
||||
## Browser product contract
|
||||
|
||||
`make check-web-contract` regenerates the TypeScript product contract and
|
||||
shared JSON fixtures into a temporary directory and requires byte identity
|
||||
with the checked artifacts. Host tests round-trip every generated wire DTO,
|
||||
validate explicit TypeScript mappings against representative Aeson shapes,
|
||||
and derive complete operation error sets from their Haskell constructors.
|
||||
|
||||
The same gate runs every handwritten browser product method against an
|
||||
in-process Servant `ProductApi`. Browser unit tests separately cover
|
||||
same-origin credentials, encoding, binary bodies, response headers, declared
|
||||
and undeclared failures, network failures, and the no-automatic-retry policy.
|
||||
`make check-product` runs this gate before its kind product lane.
|
||||
|
||||
## Model correspondence
|
||||
|
||||
`make check-model-correspondence` runs before the kind protocol-conformance
|
||||
|
|
|
|||
Loading…
Reference in a new issue