feat(ios): align chat library memory and tasks with web
This commit is contained in:
1 parent
8905dc2c2a
commit
235dd65487
12 files changed
+957
-128
No files matched your search
@@ -18,7 +18,7 @@ final class ChatUITests: XCTestCase {
|
||||
XCTAssertFalse(app.buttons["End conversation"].exists)
|
||||
app.navigationBars.buttons.element(boundBy: 0).tap()
|
||||
app.buttons["Chat options"].tap()
|
||||
app.buttons["Sign out"].tap()
|
||||
app.buttons["Settings"].tap(); app.buttons["Sign out"].tap()
|
||||
XCTAssertTrue(app.secureTextFields["Password"].waitForExistence(timeout: 10))
|
||||
XCTAssertFalse(app.staticTexts["Native offline text"].exists)
|
||||
}
|
||||
@@ -27,9 +27,9 @@ final class ChatUITests: XCTestCase {
|
||||
app.launchArguments = ["--ui-testing", "--reset-ui-testing", "--ui-chat", "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryL"]
|
||||
app.launch()
|
||||
XCTAssertTrue(app.buttons["Chat options"].waitForExistence(timeout: 10))
|
||||
app.buttons["Chat options"].tap(); app.buttons["Library and tools"].tap()
|
||||
XCTAssertTrue(app.buttons["New artifact"].waitForExistence(timeout: 10))
|
||||
app.buttons["New artifact"].tap()
|
||||
app.buttons["Chat options"].tap(); app.buttons["Library"].tap()
|
||||
XCTAssertTrue(app.buttons["New saved draft"].waitForExistence(timeout: 10))
|
||||
app.buttons["New saved draft"].tap()
|
||||
XCTAssertTrue(app.textFields["Title"].waitForExistence(timeout: 10))
|
||||
app.textFields["Title"].tap(); app.textFields["Title"].typeText("Local artifact")
|
||||
app.textViews.firstMatch.tap(); app.textViews.firstMatch.typeText("Native fixture content")
|
||||
@@ -43,6 +43,47 @@ final class ChatUITests: XCTestCase {
|
||||
app.buttons["Cancel"].tap()
|
||||
app.buttons["Done"].tap()
|
||||
}
|
||||
func testDiscoverableConversationMenuLibraryMemorySecurityAndTasks() {
|
||||
let app = XCUIApplication()
|
||||
app.launchArguments = ["--ui-testing", "--reset-ui-testing", "--ui-chat", "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryL"]
|
||||
app.launch()
|
||||
XCTAssertTrue(app.buttons["New chat"].waitForExistence(timeout: 10))
|
||||
app.buttons["New chat"].tap()
|
||||
let field = app.textFields["chat-draft"]
|
||||
XCTAssertTrue(field.waitForExistence(timeout: 10))
|
||||
field.tap(); field.typeText("Parity fixture")
|
||||
app.buttons["Send message"].tap()
|
||||
XCTAssertTrue(app.staticTexts["Offline reply"].waitForExistence(timeout: 10))
|
||||
app.navigationBars.buttons.element(boundBy: 0).tap()
|
||||
let actions = app.buttons.matching(NSPredicate(format: "label BEGINSWITH 'Actions for '")).firstMatch
|
||||
XCTAssertTrue(actions.waitForExistence(timeout: 10)); actions.tap()
|
||||
XCTAssertTrue(app.buttons["Pin"].waitForExistence(timeout: 5)); app.buttons["Pin"].tap()
|
||||
capture(app, "Native visible conversation actions")
|
||||
app.buttons["Chat options"].tap(); app.buttons["Library"].tap()
|
||||
XCTAssertTrue(app.buttons["Upload file"].waitForExistence(timeout: 10))
|
||||
XCTAssertTrue(app.staticTexts["Saved drafts"].exists)
|
||||
capture(app, "Native Library purpose and upload")
|
||||
app.buttons["Done"].tap()
|
||||
app.buttons["Chat options"].tap(); app.buttons["Memory & data"].tap()
|
||||
XCTAssertTrue(app.buttons["Guidance"].waitForExistence(timeout: 10))
|
||||
capture(app, "Native Memory and data")
|
||||
app.buttons["Guidance"].tap()
|
||||
XCTAssertTrue(app.textViews["Memory draft"].waitForExistence(timeout: 10))
|
||||
XCTAssertTrue(app.buttons["Compare latest server version"].exists)
|
||||
capture(app, "Native memory revision editor")
|
||||
app.buttons["Cancel"].tap(); app.buttons["Done"].tap()
|
||||
app.buttons["Chat options"].tap(); app.buttons["Settings"].tap(); app.buttons["Security"].tap()
|
||||
XCTAssertTrue(app.staticTexts["Connected server"].waitForExistence(timeout: 10))
|
||||
capture(app, "Native contextual Security")
|
||||
app.buttons["Done"].tap()
|
||||
app.tabBars.buttons["Activity"].tap(); app.buttons["Scheduled tasks"].tap()
|
||||
XCTAssertTrue(app.buttons["New scheduled task"].waitForExistence(timeout: 10))
|
||||
app.buttons["New scheduled task"].tap()
|
||||
XCTAssertTrue(app.textFields["Task name"].waitForExistence(timeout: 10))
|
||||
XCTAssertTrue(app.switches["Create paused"].exists)
|
||||
capture(app, "Native scheduled task fields")
|
||||
}
|
||||
|
||||
private func capture(_ app: XCUIApplication, _ name: String) {
|
||||
let attachment = XCTAttachment(screenshot: app.screenshot()); attachment.name = name; attachment.lifetime = .keepAlways; add(attachment)
|
||||
}
|
||||
@@ -51,7 +92,7 @@ final class ChatUITests: XCTestCase {
|
||||
app.launchArguments = ["--ui-testing", "--reset-ui-testing", "--ui-chat", "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryL"]
|
||||
app.launch()
|
||||
XCTAssertTrue(app.buttons["Chat options"].waitForExistence(timeout: 10))
|
||||
app.buttons["Chat options"].tap(); app.buttons["Manage workspaces"].tap()
|
||||
app.buttons["Chat options"].tap(); app.buttons["Settings"].tap(); app.buttons["Manage workspaces"].tap()
|
||||
let field = app.textFields["Workspace name"]
|
||||
XCTAssertTrue(field.waitForExistence(timeout: 10)); field.tap(); field.typeText("Writing")
|
||||
app.buttons["Save workspace"].tap()
|
||||
@@ -63,7 +104,7 @@ final class ChatUITests: XCTestCase {
|
||||
app.launchArguments = ["--ui-testing", "--reset-ui-testing", "--ui-chat", "-UIPreferredContentSizeCategoryName", "UICTContentSizeCategoryL"]
|
||||
app.launch()
|
||||
XCTAssertTrue(app.buttons["Chat options"].waitForExistence(timeout: 10))
|
||||
app.buttons["Chat options"].tap(); app.buttons["Appearance and model"].tap()
|
||||
app.buttons["Chat options"].tap(); app.buttons["Settings"].tap(); app.buttons["Appearance and model"].tap()
|
||||
app.buttons.matching(NSPredicate(format: "label CONTAINS 'Appearance' AND label CONTAINS 'System'")).firstMatch.tap(); app.buttons["Dark"].tap()
|
||||
app.buttons["Save appearance"].tap(); app.buttons["Done"].tap()
|
||||
capture(app, "Native chat list dark standard")
|
||||
@@ -81,7 +122,7 @@ final class ChatUITests: XCTestCase {
|
||||
app.launch()
|
||||
XCTAssertTrue(app.buttons["New chat"].waitForExistence(timeout: 10))
|
||||
app.buttons["Chat options"].tap()
|
||||
app.buttons["Appearance and model"].tap()
|
||||
app.buttons["Settings"].tap(); app.buttons["Appearance and model"].tap()
|
||||
XCTAssertTrue(app.navigationBars["Chat preferences"].waitForExistence(timeout: 10))
|
||||
XCTAssertTrue(app.buttons["Save appearance"].exists)
|
||||
capture(app, "Appearance accessibility size")
|
||||
|
||||
Reference in new issue
Block a user