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

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

@ -701,6 +701,20 @@ final class WildPhotographerReportTests: XCTestCase {
XCTAssertEqual(messages.last, URLError(.badServerResponse).localizedDescription)
}
func testSubmitLocationOmitsProvinceCityDistrict() {
let homeViewModel = WildPhotographerReportHomeViewModel()
let viewModel = WildPhotographerReportSubmitViewModel(homeViewModel: homeViewModel)
viewModel.applyResolvedLocation(HomeLocationSnapshot(
latitude: 32.40,
longitude: 119.41,
address: "江苏省扬州市邗江区瘦西湖路"
))
XCTAssertEqual(viewModel.locationTitleText, "当前定位:瘦西湖路")
XCTAssertEqual(viewModel.reportLocation, "瘦西湖路")
}
func testSubmitFailsWithoutEvidence() async {
let homeViewModel = WildPhotographerReportHomeViewModel()
let viewModel = WildPhotographerReportSubmitViewModel(homeViewModel: homeViewModel)
@ -766,7 +780,7 @@ final class WildPhotographerReportTests: XCTestCase {
viewModel.addImages([try makeAttachment(kind: .image, fileName: "scene.jpg")])
viewModel.addPaymentImages([try makeAttachment(kind: .payment, fileName: "payment.jpg")])
viewModel.updateDescription("测试说明")
viewModel.applyResolvedLocation(HomeLocationSnapshot(latitude: 30.12, longitude: 120.34, address: "测试景区 · 测试点"))
viewModel.applyResolvedLocation(HomeLocationSnapshot(latitude: 30.12, longitude: 120.34, address: "江苏省扬州市邗江区瘦西湖路"))
await viewModel.submitReport(api: api, uploader: uploader, scenicId: 9, scenicName: "测试景区")
@ -779,10 +793,13 @@ final class WildPhotographerReportTests: XCTestCase {
XCTAssertEqual(api.submitRequests.first?.reportType, 2)
XCTAssertEqual(api.submitRequests.first?.lat, 30.12)
XCTAssertEqual(api.submitRequests.first?.lng, 120.34)
XCTAssertEqual(api.submitRequests.first?.locationName, "测试景区")
XCTAssertEqual(api.submitRequests.first?.locationAddress, "瘦西湖路")
XCTAssertEqual(api.submitRequests.first?.evidences.count, 1)
XCTAssertEqual(api.submitRequests.first?.evidences.first?.fileType, 1)
XCTAssertEqual(api.submitRequests.first?.paymentScreenshots.count, 1)
XCTAssertNil(api.submitRequests.first?.storeUserId)
XCTAssertEqual(viewModel.submitResult?.record.location, "瘦西湖路")
}
func testPaymentScreenshotsDoNotReplaceRequiredEvidence() async throws {