feat: refine native iOS chat experience
This commit is contained in:
1 parent
9c5e9bce5b
commit
7bd893ae5c
14 files changed
+415
-93
No files matched your search
@@ -35,6 +35,31 @@ final class ChatTests: XCTestCase {
|
||||
XCTAssertNil(store.selected)
|
||||
XCTAssertTrue(store.messages.isEmpty)
|
||||
}
|
||||
func testWorkspaceSaveReportsFailureAndPreservesExistingWorkspaces() async throws {
|
||||
let store = ChatStore(api: OfflineChatAPI())
|
||||
let rejected = await store.saveWorkspace(nil, name: " ", instructions: "Ignored")
|
||||
XCTAssertFalse(rejected)
|
||||
XCTAssertEqual(store.error, "Enter a workspace name.")
|
||||
XCTAssertTrue(store.workspaces.isEmpty)
|
||||
let saved = await store.saveWorkspace(nil, name: "Writing", instructions: "Be concise")
|
||||
XCTAssertTrue(saved)
|
||||
XCTAssertEqual(store.workspaces.map(\.name), ["Writing"])
|
||||
}
|
||||
func testPreviewClearsOldContentBeforeNewRequestAndOnTeardown() async throws {
|
||||
let api = OfflineChatAPI()
|
||||
let store = ChatStore(api: api)
|
||||
await store.features.load()
|
||||
let data = Data("Private preview".utf8)
|
||||
_ = await store.features.upload(data, filename: "preview.txt", mime: "text/plain")
|
||||
let attachment = try XCTUnwrap(store.features.attachments.first)
|
||||
store.features.previewText = "stale"
|
||||
await store.features.preview(attachment)
|
||||
XCTAssertEqual(store.features.previewAttachment?.id, attachment.id)
|
||||
XCTAssertNotEqual(store.features.previewText, "stale")
|
||||
store.features.clearPreview()
|
||||
XCTAssertNil(store.features.previewAttachment)
|
||||
XCTAssertNil(store.features.previewText)
|
||||
}
|
||||
func testOfflineResearchTruthfulExportAndTeardown() async throws {
|
||||
let store = ChatStore(api: OfflineChatAPI())
|
||||
await store.create()
|
||||
|
||||
Reference in new issue
Block a user