完善素材管理 UI 交互并修复列表解析与时间选择。
MaterialItem 兼容 Android 缺失字段默认值,优化素材详情/列表/标签布局与上下架开关交互,修复个人空间时间选择器初始值。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -38,6 +38,20 @@ final class MaterialManagementAPITests: XCTestCase {
|
||||
XCTAssertEqual(response.order?.totalNum, 0)
|
||||
}
|
||||
|
||||
func testListDecodesAndroidDefaultsWhenNamesAreMissing() async throws {
|
||||
let item = #"{"id":56,"name":"iOS视频素材测试","cover_url":"https://cdn/cover.jpg","created_at":"2026-07-13 11:36:30","status":0,"download_count":0,"likes_count":0,"collect_count":0,"share_count":0,"listing_status":0,"type":"2"}"#
|
||||
let session = MockURLSession(responses: [envelopeJSON(#"{"total":1,"list":[\#(item)],"order":{"avg_change":1,"avg_order_amount":null,"refund_total":null,"total_num":0}}"#)])
|
||||
let api = MaterialManagementAPI(client: APIClient(environment: .testing, session: session))
|
||||
|
||||
let response = try await api.list(status: 4, keyword: nil, page: 1, pageSize: 10)
|
||||
|
||||
let material = try XCTUnwrap(response.list.first)
|
||||
XCTAssertEqual(material.id, 56)
|
||||
XCTAssertEqual(material.name, "iOS视频素材测试")
|
||||
XCTAssertEqual(material.scenicSpotName, "")
|
||||
XCTAssertEqual(material.projectName, "")
|
||||
}
|
||||
|
||||
func testDetailOperationDeleteAndTagUseAndroidPaths() async throws {
|
||||
let detail = envelopeJSON(#"{"id":8,"status":1,"listing_status":1}"#)
|
||||
let empty = envelopeJSON("{}")
|
||||
|
||||
Reference in New Issue
Block a user