完善任务流程、键盘适配与页面交互

This commit is contained in:
2026-07-10 15:56:15 +08:00
parent f88a85a807
commit ab5220e460
189 changed files with 16779 additions and 1038 deletions

View File

@ -56,6 +56,17 @@ final class TaskAddViewModelTests: XCTestCase {
XCTAssertEqual(message, "文件正在上传中,请稍后添加!")
}
func testClearingCustomUrgentHourKeepsConfirmedValue() {
let viewModel = TaskAddViewModel(appStore: appStore)
viewModel.setUrgentHour(6)
viewModel.updateCustomUrgentHourText("")
XCTAssertEqual(viewModel.urgentHour, 6)
viewModel.updateCustomUrgentHourText("0")
XCTAssertEqual(viewModel.urgentHour, 6)
}
func testBuildAddTaskRequestSplitsCloudAndUploadFiles() {
let viewModel = TaskAddViewModel(appStore: appStore)
viewModel.updateTaskName("任务A")
@ -76,6 +87,26 @@ final class TaskAddViewModelTests: XCTestCase {
XCTAssertEqual(request.uploadFile[0].fileUrl, "https://cdn/a.jpg")
}
func testPreparedUploadKeepsOriginalFileNameAndPreview() {
let viewModel = TaskAddViewModel(appStore: appStore)
let previewData = Data([1, 2, 3])
viewModel.addUploadPlaceholder(fileName: "temporary.jpg", fileType: 2, uploadTaskId: "task1")
viewModel.prepareUpload(uploadTaskId: "task1", fileName: "IMG_1001.HEIC", localPreviewData: previewData)
viewModel.markUploadSucceeded(
uploadTaskId: "task1",
fileURL: "https://cdn/image.heic",
fileName: "IMG_1001.HEIC",
localPreviewData: previewData,
autoRemarkWhenSingle: true
)
XCTAssertEqual(viewModel.selectedFiles[0].uploadFileName, "IMG_1001.HEIC")
XCTAssertEqual(viewModel.selectedFiles[0].localPreviewData, previewData)
XCTAssertEqual(viewModel.buildAddTaskRequest().uploadFile[0].fileName, "IMG_1001.HEIC")
XCTAssertEqual(viewModel.consumePendingRemarkFileID(), viewModel.selectedFiles[0].id)
}
func testTaskFileSourceBadgeTextMatchesAndroidLabels() {
let cloudItem = TaskFileItem(source: .cloud, cloudFile: CloudFile(id: 1, name: "云文件", type: 2))
let uploadItem = TaskFileItem(source: .upload, uploadFileName: "a.jpg", uploadFileType: 2)