@@ -4,14 +4,37 @@ import { describe, it } from 'vitest'
44 * T022 — Real IPC contract fixtures (Phase B)
55 *
66 * This test file is intentionally fixture-driven and snapshot-free.
7- * It becomes actionable once DWEB/runtime provides concrete request/response samples:
8- * - Address success (request + respondWith envelope)
9- * - Signature success (request + respondWith envelope)
10- * - Timeout/cancel (request + respondWith envelope)
7+ *
8+ * It becomes actionable once DWEB/runtime provides concrete request/response samples.
9+ * Keep these as TODOs until we have real samples (fixture-first; no guessing).
10+ *
11+ * Minimum samples:
12+ * - Address authorize success (request + wire response)
13+ * - Signature authorize success (request + wire response)
14+ * - Timeout/cancel (request + wire response + lifecycle semantics)
1115 */
1216describe ( 'T022 DWEB runtime contract fixtures' , ( ) => {
13- it . todo ( 'validates address authorize sample (request + respondWith envelope)' )
14- it . todo ( 'validates signature authorize sample (request + respondWith envelope)' )
15- it . todo ( 'validates timeout/cancel sample (request + respondWith envelope)' )
16- } )
17+ describe ( 'Address authorize' , ( ) => {
18+ it . todo ( 'request: URL pathname is /wallet/authorize/address' )
19+ it . todo ( 'request: query params include type(main|network|all); chainName required when type=network' )
20+ it . todo ( 'request: signMessage/getMain delivery channel confirmed (query vs body)' )
21+
22+ it . todo ( 'response: wire envelope shape confirmed (e.g. JSON { data: ... } + content-type/status)' )
23+ it . todo ( 'response: payload shape confirmed (mpay expects AddressInfo[] | null, not {addresses})' )
24+ it . todo ( 'response: AddressInfo item fields confirmed (name/address/chainName/publicKey/magic/signMessage?/main?)' )
1725
26+ it . todo ( 'lifecycle: removeEventId required/idempotent; timeout/cancel/disconnect semantics confirmed' )
27+ } )
28+
29+ describe ( 'Signature authorize' , ( ) => {
30+ it . todo ( 'request: URL pathname is /wallet/authorize/signature' )
31+ it . todo ( 'request: signaturedata delivery confirmed (query vs body) and parseable as JSON array' )
32+ it . todo ( 'request: single vs batch semantics confirmed (array length 1 vs N; replay/dup rules)' )
33+
34+ it . todo ( 'response: wire envelope shape confirmed (e.g. JSON { data: ... } + content-type/status)' )
35+ it . todo ( 'response: payload shape confirmed (mpay expects ResultArray | null, not {signature})' )
36+ it . todo ( 'response: per-item error compatibility confirmed (null or { error: true, message })' )
37+
38+ it . todo ( 'compat: assetTypeBalance fast-path confirmed in/out of scope for KeyApp Phase B' )
39+ } )
40+ } )
0 commit comments