修复任务提交与弹窗交互问题
This commit is contained in:
@ -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)))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user