完善钱包提现状态展示与举报摄影师列表交互。
对齐 Android 提现进度与时间线映射,优化钱包与积分兑换页刷新逻辑,并补充相关单元测试与真机测试说明。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -548,6 +548,91 @@ final class WildPhotographerReportTests: XCTestCase {
|
||||
XCTAssertEqual(record.imageCount, 1)
|
||||
XCTAssertEqual(record.videoCount, 1)
|
||||
XCTAssertEqual(detail.supplementRecords.first?.summaryText, "补充说明 · 1张图片")
|
||||
XCTAssertEqual(detail.supplementRecords.first?.evidences.first?.fileURL, "https://example.com/supplement.jpg")
|
||||
}
|
||||
|
||||
func testSupplementRecordsPreserveMixedMediaOrderAndSummary() throws {
|
||||
let evidences = [
|
||||
WildReportDetailEvidence(
|
||||
fileType: 1,
|
||||
fileTypeText: "图片",
|
||||
fileURL: "https://example.com/one.jpg",
|
||||
fileName: "one.jpg"
|
||||
),
|
||||
WildReportDetailEvidence(
|
||||
fileType: 2,
|
||||
fileTypeText: "视频",
|
||||
fileURL: "https://example.com/two.mp4",
|
||||
fileName: "two.mp4"
|
||||
),
|
||||
WildReportDetailEvidence(
|
||||
fileType: 5,
|
||||
fileTypeText: "图片",
|
||||
fileURL: "https://example.com/three.png",
|
||||
fileName: "three.png"
|
||||
)
|
||||
]
|
||||
let detail = WildReportDetailData(
|
||||
supplements: [
|
||||
WildReportDetailContent(
|
||||
type: "supplement",
|
||||
id: 7,
|
||||
desc: "补充现场材料",
|
||||
time: "2026-07-13 10:00:00",
|
||||
evidences: evidences
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
let record = try XCTUnwrap(detail.supplementRecords.first)
|
||||
|
||||
XCTAssertEqual(record.evidences.map(\.fileType), [1, 2, 5])
|
||||
XCTAssertEqual(record.evidences.map(\.fileURL), [
|
||||
"https://example.com/one.jpg",
|
||||
"https://example.com/two.mp4",
|
||||
"https://example.com/three.png"
|
||||
])
|
||||
XCTAssertEqual(record.imageCount, 2)
|
||||
XCTAssertEqual(record.videoCount, 1)
|
||||
XCTAssertTrue(record.hasMedia)
|
||||
XCTAssertEqual(record.summaryText, "补充现场材料 · 2张图片 · 1段视频")
|
||||
}
|
||||
|
||||
func testSupplementRecordsFallBackToReportContentsAndKeepMedia() throws {
|
||||
let detail = WildReportDetailData(
|
||||
supplements: [],
|
||||
reportContents: [
|
||||
WildReportDetailContent(
|
||||
type: "report",
|
||||
id: 1,
|
||||
desc: "初始举报",
|
||||
time: "2026-07-13 09:00:00"
|
||||
),
|
||||
WildReportDetailContent(
|
||||
type: "supplement",
|
||||
id: 2,
|
||||
desc: "补充视频",
|
||||
time: "2026-07-13 10:00:00",
|
||||
evidences: [
|
||||
WildReportDetailEvidence(
|
||||
fileType: 2,
|
||||
fileTypeText: "视频",
|
||||
fileURL: "https://example.com/fallback.mp4",
|
||||
fileName: "fallback.mp4"
|
||||
)
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
let record = try XCTUnwrap(detail.supplementRecords.first)
|
||||
|
||||
XCTAssertEqual(detail.supplementRecords.count, 1)
|
||||
XCTAssertEqual(record.id, "2")
|
||||
XCTAssertEqual(record.evidences.map(\.fileURL), ["https://example.com/fallback.mp4"])
|
||||
XCTAssertEqual(record.imageCount, 0)
|
||||
XCTAssertEqual(record.videoCount, 1)
|
||||
XCTAssertEqual(record.summaryText, "补充视频 · 1段视频")
|
||||
}
|
||||
|
||||
func testSupplementRecordSequenceTitleStartsFromDisplayOrder() {
|
||||
|
||||
Reference in New Issue
Block a user