test(ai): expand AI flow and clipboard semantic coverage

- Cover reply-variant decision paths, scene-detector abstention, and
  the merged reply center stance catalog.
- Lock in clipboard semantic analyzer thresholds, complaint-only
  suppression, and existing-skill routing.
- Add durable session, refresh, and managed-gateway reliability tests
  for the Apple account path.
- Verify personal-style prompt derivation, low-confidence ASR
  tendencies, and Polish style learning against real corpus evidence.
- Exercise the assistant keyboard and Polish styles UI flows in
  end-to-end UI tests.
This commit is contained in:
Rocky
2026-08-29 11:51:25 +08:00
parent 3c10d73d7f
commit b275b6b0d9
15 changed files with 1348 additions and 125 deletions
@@ -160,6 +160,16 @@ final class AssistantKeyboardUITests: XCTestCase {
XCTAssertFalse(element("assistant.skills.pager", in: app).exists)
}
func testReliableSemanticResultShowsCompactBadge() {
let app = launch(scenario: "semanticBadge")
let badge = requiredElement("assistant.semantic.badge", in: app)
let mic = requiredElement("assistant.mic.idle", in: app)
XCTAssertTrue(badge.label.contains("Weather") || badge.label.contains("天气"))
XCTAssertLessThan(badge.frame.height, mic.frame.height)
XCTAssertTrue(element("assistant.clipboard.dismiss", in: app).exists)
}
func testSearchFieldShowsEnabledSearchAction() {
let app = launch(scenario: "search")
let search = requiredElement("assistant.action.search", in: app)