修复任务提交与弹窗交互问题

This commit is contained in:
2026-07-10 14:51:34 +08:00
parent df547a16dc
commit f88a85a807
48 changed files with 1065 additions and 254 deletions

View File

@ -73,6 +73,25 @@ final class CloudStoragePickForTaskViewModelTests: XCTestCase {
XCTAssertEqual(Set(viewModel.selectedFileList.map(\.id)), Set([1, 2]))
}
func testAllowedFileTypeRejectsMismatchedMedia() async throws {
let listJSON = try makeListJSON(files: [
makeFileJSON(id: 1, name: "视频", type: 1),
makeFileJSON(id: 2, name: "图片", type: 2),
])
let api = makeAPI(responses: [listJSON])
let viewModel = CloudStoragePickForTaskViewModel(allowedFileType: 2)
var message: String?
viewModel.onShowMessage = { message = $0 }
await viewModel.refresh(api: api)
await viewModel.handleItemTap(viewModel.files[0], api: api)
await viewModel.handleItemTap(viewModel.files[1], api: api)
XCTAssertEqual(message, "请选择图片素材")
XCTAssertFalse(viewModel.isSelected(1))
XCTAssertTrue(viewModel.isSelected(2))
}
private func makeAPI(responses: [Data]) -> TaskAPI {
TaskAPI(client: APIClient(environment: .testing, session: MockURLSession(responses: responses)))
}