eleven / messenger Public

ios: FlowEngineTests catches up with the AI opt-in flow (#877) (#980)

The setup flow's extras chip became 'Keep both on' and gained the AI opt-in
step; the native twin test still tapped 'Keep everything on' and stalled —
main's swift test has been red since. Mirrors the updated JS twin exactly
(tap the new label, answer the AI ask with Not now; the extras record and
no-setFeature assertions still hold).
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell f2ab0cf6b00e466768d1ece6697eb189381ffcbb parent da70290
1 file changed, +3 −1
  • ios/LChatCore/Tests/LChatCoreTests/FlowEngineTests.swift +3 −1
diff --git a/ios/LChatCore/Tests/LChatCoreTests/FlowEngineTests.swift b/ios/LChatCore/Tests/LChatCoreTests/FlowEngineTests.swift
index 38ce7a6..437d955 100644
--- a/ios/LChatCore/Tests/LChatCoreTests/FlowEngineTests.swift
+++ b/ios/LChatCore/Tests/LChatCoreTests/FlowEngineTests.swift
@@ -132,9 +132,11 @@ final class FlowEngineTests: XCTestCase {
await io.tap("Members can invite people")
// The extras trio (mirrors the JS native run): the one-tap common path
// records and writes no gates — defaults are already on server-side.
- await io.tap("Keep everything on")
+ await io.tap("Keep both on")
XCTAssertTrue(io.records.contains { $0.step == "extras" && $0.value == "all-on" })
XCTAssertFalse(io.verbLog.contains { $0.0 == "setFeature" })
+ // The AI opt-in step (#877) runs under native too — mirror the JS twin.
+ await io.tap("Not now")
// Keys: never pitched — recorded as covered by the Eleven account.
XCTAssertFalse(io.transcript.contains { $0.text.contains("Now the most important thing of all") })