Project

General

Profile

QA验收 #1 » bff-final-case-results.md

Redmine Admin, 10/06/2026 04:31 PM

 

QA 测试结果 - BFF日期兼容修复后全量独立回归 - 2026-10-07

候选:cb70aee75e7230ea6eb57a2203021c403f1dccfb及未提交修复,adapter源码SHA25615bf6cbd4389fa97d863899680b0419f9fc1b647356c70459e5ca7d7ad83b5d7。QA独立npm test -- --verbose --json --outputFile=bff-final-results.json;9 suites127/127 Pass。pg-mem/mock Notification单元环境,不冒充真实PG(真实PG另见HTTP第4轮34/34)。前置:test配置/合成身份;每行操作为执行具名断言,预期全部断言成立,实际Pass表示成立。包含naive微秒/offset/Z保持原值及非法日期拒绝。

ID 用例/操作与预期 实际 证据/层级/源码
BFF-FINAL-001 HTTP channel flow runs health checks and Swagger,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-002 HTTP channel flow logs in using wx.login code without leaking WeChat identifiers or session_key,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-003 HTTP channel flow rejects forged login identity fields,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-004 HTTP channel flow distinguishes missing session from missing contact binding,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-005 HTTP channel flow binds a WeChat-verified phone then resolves contact server-side,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-006 HTTP channel flow returns 503 without connection details when the channel database is unavailable,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-007 HTTP channel flow clears contact on phone change and rejects stale contact resolver responses,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-008 HTTP channel flow submits a verified email and business card and queues the review notification,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-009 HTTP channel flow rejects a spoofed business-card MIME type,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-010 HTTP channel flow invalidates binding if NDB no longer resolves the contact,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-011 HTTP channel flow projects public meetings without private links or Task data,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-012 HTTP channel flow returns the NDB-derived meeting banners without authentication,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-013 HTTP channel flow forwards validated date and month calendar filters to NDB,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-014 HTTP channel flow serves the V2 content, topic and public expert catalog without private fields,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-015 HTTP channel flow derives a unique industry list from the public V2 catalog,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-016 HTTP channel flow creates an expert interview request from the authenticated bound contact,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-017 HTTP channel flow rejects an invalid interview idempotency key before calling NDB,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-018 HTTP channel flow returns my meetings from NDB using bound contact,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-019 HTTP channel flow forwards user idempotency key and derives contact from session,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-020 HTTP channel flow cancels via NDB and keeps local finance absent,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-021 HTTP channel flow keeps favorites and reminder preferences separate from registration/Task calls,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-022 HTTP channel flow uses unified NDB minutes GET, PUT and mine DTOs without financial state or attend mutations,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-023 HTTP channel flow projects one registration and Task across minutes-only, both intents, and attendance cancellation,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-024 HTTP channel flow returns null from NDB despite a legacy minutes preference,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-025 HTTP channel flow requires authenticated bound identity, validates keys, and refuses cancellation on /api/v2/meetings/1/minutes-subscription,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-026 HTTP channel flow requires authenticated bound identity, validates keys, and refuses cancellation on /api/v2/notifications/subscriptions/1/minutes,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-027 HTTP channel flow rejects a wrong-intent or wrong-owner mine result on /api/v2/meetings/my,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-028 HTTP channel flow rejects a wrong-intent or wrong-owner mine result on /api/v2/meetings/minutes-reservations/mine,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-029 HTTP channel flow rejects a wrong-intent or wrong-owner mine result on /api/v2/meetings/my,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-030 HTTP channel flow passes explicit minutes keys and rejects stale identity and cross-contact upstream responses,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-031 HTTP channel flow persists one no-contract refusal notice across both minutes paths without masking the rejection,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-032 HTTP channel flow does not impose BFF time or pricing gates and preserves the NDB human-minutes refusal,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-033 HTTP channel flow preserves NO_ACTIVE_CONTRACT even if the refusal cannot be persisted,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-034 HTTP channel flow enforces ownership on favorites and message read operations,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-035 HTTP channel flow retrieves join link with meeting:join scope only for a bound session,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-036 HTTP channel flow hides join link on REGISTRATION_REQUIRED,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-037 HTTP channel flow hides join link on MEETING_NOT_OPEN,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-038 HTTP channel flow hides join link on JOIN_LINK_UNAVAILABLE,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-039 HTTP channel flow guides contract errors and upstream downtime without exposing provider messages,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-040 HTTP channel flow revokes all prior tokens on logout,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-041 HTTP channel flow rejects expired JWT and legacy conference routes,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/http.spec.ts
BFF-FINAL-042 SQLite source preservation and database guard reads version 1 without upgrading it, preserving identities and defaulting new fields,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-043 SQLite source preservation and database guard preserves version 3 binary cards, verification state and retry counters,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-044 SQLite source preservation and database guard refuses an unsupported source version and never creates a missing file,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-045 SQLite source preservation and database guard rejects missing required source columns rather than inventing identity fields,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-046 SQLite source preservation and database guard refuses a non-channel connection target,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-047 SQLite source preservation and database guard refuses a non-channel connection target,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-048 SQLite source preservation and database guard refuses a non-channel connection target,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/sqlite-import.spec.ts
BFF-FINAL-049 minutes refusal durable outbox marks missing configuration and resumes after restart without changing the refusal identity,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-outbox.spec.ts
BFF-FINAL-050 minutes refusal durable outbox persists missing service configuration across a retry tick, with no delivery claim,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-outbox.spec.ts
BFF-FINAL-051 minutes refusal durable outbox retries failures with the same dedup key after restart, applies backoff and honors the minutes recipient,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-outbox.spec.ts
BFF-FINAL-052 minutes refusal durable outbox deduplicates by meeting/contact across users without merging distinct meetings,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-outbox.spec.ts
BFF-FINAL-053 minutes refusal durable outbox additively upgrades version 4 without migrating legacy minutes into Tasks or notices,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-outbox.spec.ts
BFF-FINAL-054 identity state and contact events auto binds an initial or newly added number only after current NDB resolution,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-055 identity state and contact events requires a full application after a WeChat phone change before accepting replacement number,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-056 identity state and contact events blocks proactive auto binding during delayed MQ delivery of a replacement event,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-057 identity state and contact events rejects a later replacement even when the same number was previously fully authenticated,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-058 identity state and contact events does not let an old contact event revoke a newer completed authentication,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-059 identity state and contact events keeps an unmatched application pending, then authorizes it when NDB adds the number,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-060 identity state and contact events handles added and replaced contact events idempotently without undoing later full authentication,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-061 identity state and contact events rejects an application if the verified phone changes away and back during NDB resolution,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-062 identity state and contact events retries review notification submission with the same idempotency key,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/identity.spec.ts
BFF-FINAL-063 WeChat boundary discards session_key and rejects absent openid,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/wechat-storage.spec.ts
BFF-FINAL-064 WeChat boundary maps expired codes and upstream network failure,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/wechat-storage.spec.ts
BFF-FINAL-065 WeChat boundary verifies phone watermark appid before binding,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/wechat-storage.spec.ts
BFF-FINAL-066 WeChat boundary coalesces token acquisition for concurrent phone requests,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/wechat-storage.spec.ts
BFF-FINAL-067 channel-only versioned PostgreSQL SQL contract preserves channel identities and favorite state over migration rerun,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/wechat-storage.spec.ts
BFF-FINAL-068 NDB signature contract uses RFC3986, repeated keys, blanks and lexicographic key/value ordering,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-069 NDB signature contract signs the exact six-line request and exact UTF-8 body,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-070 NDB signature contract matches a vector generated by the existing NDB Python implementation,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-071 NDB signature contract hashes an empty GET body,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-072 NDB signature contract uses collision-safe tuple boundaries for business keys,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-073 configuration and boundary validation accepts configured development,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-074 configuration and boundary validation does not expose submitted secrets in validation errors,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-075 configuration and boundary validation requires safe production configuration {"NDB_BASE_URL": "http://ndb.test"},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-076 configuration and boundary validation requires safe production configuration {"CHANNEL_DATABASE_URL": "sqlite://memory", "NDB_BASE_URL": "https://ndb.test"},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-077 configuration and boundary validation rejects non-origin NDB URL ftp://ndb.test,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-078 configuration and boundary validation rejects non-origin NDB URL https://user:password@ndb.test,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-079 configuration and boundary validation rejects non-origin NDB URL https://ndb.test/api,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-080 configuration and boundary validation rejects non-origin NDB URL https://ndb.test/?secret=bad,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-081 configuration and boundary validation rejects ID coercion and invalid idempotency headers,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/signature.spec.ts
BFF-FINAL-082 NDB transport and typed adapter accepts the real NDB envelope and strips Task state,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-083 NDB transport and typed adapter sends a fresh nonce and stable business key for retries,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-084 NDB transport and typed adapter returns original registration on duplicate conflict,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-085 NDB transport and typed adapter fails closed on a cross-contact registration,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-086 NDB transport and typed adapter returns null for no registration,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-087 NDB transport and typed adapter maps MEETING_NOT_OPEN without leaking upstream text,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-088 NDB transport and typed adapter maps NO_ACTIVE_CONTRACT without leaking upstream text,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-089 NDB transport and typed adapter maps AMBIGUOUS_PROJECT without leaking upstream text,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-090 NDB transport and typed adapter maps AMBIGUOUS_CONTRACT without leaking upstream text,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-091 NDB transport and typed adapter maps IDEMPOTENCY_CONFLICT without leaking upstream text,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-092 NDB transport and typed adapter maps upstream authentication 401 as server configuration, not user login,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-093 NDB transport and typed adapter maps upstream authentication 403 as server configuration, not user login,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-094 NDB transport and typed adapter maps upstream availability 429,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-095 NDB transport and typed adapter maps upstream availability 500,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-096 NDB transport and typed adapter maps upstream availability 503,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-097 NDB transport and typed adapter maps network timeout and does not blindly retry writes,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-098 NDB transport and typed adapter rejects an incompatible contract {"data": [Array], "err": 0},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-099 NDB transport and typed adapter rejects an incompatible contract {"code": 200, "data": [Object]},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-100 NDB transport and typed adapter requires the confirmed public detail fields and excludes private expert data,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-101 NDB transport and typed adapter reads the server-derived banner list with the conference read scope,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-102 NDB transport and typed adapter maps an application-owned meeting miss to NOT_FOUND,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-103 NDB transport and typed adapter refuses paths and scopes outside application credentials,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-104 NDB transport and typed adapter validates catalog contracts and derives a stable interview idempotency key,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-105 NDB transport and typed adapter deduplicates industries exposed by all public catalog collections,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/ndb-client.spec.ts
BFF-FINAL-106 NDB minutes business adapter uses a separate stable business key, fresh nonces and only the verified contact payload,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-107 NDB minutes business adapter preserves the NDB timestamp 2026-10-07T00:26:08.883534 for both business intents,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-108 NDB minutes business adapter preserves the NDB timestamp 2026-10-07T00:26:08 for both business intents,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-109 NDB minutes business adapter preserves the NDB timestamp 2026-10-07T00:26:08.883534Z for both business intents,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-110 NDB minutes business adapter preserves the NDB timestamp 2026-10-07T00:26:08.883534+08:00 for both business intents,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-111 NDB minutes business adapter continues rejecting invalid registration timestamps 2026-02-30T00:26:08.883534,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-112 NDB minutes business adapter continues rejecting invalid registration timestamps 2026-10-07T24:26:08,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-113 NDB minutes business adapter continues rejecting invalid registration timestamps 2026-10-07T00:60:08,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-114 NDB minutes business adapter continues rejecting invalid registration timestamps 2026-10-07,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-115 NDB minutes business adapter continues rejecting invalid registration timestamps garbage,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-116 NDB minutes business adapter rejects malformed or cross-owner business facts {"meeting_id": 2},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-117 NDB minutes business adapter rejects malformed or cross-owner business facts {"client_contact_id": 21},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-118 NDB minutes business adapter rejects malformed or cross-owner business facts {"task_id": null},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-119 NDB minutes business adapter rejects malformed or cross-owner business facts {"minutes_requested": false},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-120 NDB minutes business adapter rejects malformed or cross-owner business facts {"created_at": "invalid"},命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-121 NDB minutes business adapter returns authoritative null and read scope for state without writes,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-122 NDB minutes business adapter projects attend-only as no minutes and retains minutes when attendance is cancelled,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-123 NDB minutes business adapter maps published human-minutes and no-contract refusals without rewriting them,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-124 NDB minutes business adapter does not automatically retry a timed-out business mutation,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/minutes-adapter.spec.ts
BFF-FINAL-125 renderMiniProgramRichText converts Markdown into HTML supported by the mini program rich-text component,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/rich-text.spec.ts
BFF-FINAL-126 renderMiniProgramRichText keeps legacy HTML while removing unsafe markup and attributes,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/rich-text.spec.ts
BFF-FINAL-127 renderMiniProgramRichText rejects unsafe links,命名行为断言应成立 Pass bff-final-results.json;单元/模拟;test/rich-text.spec.ts
(46-46/78)