feat: update wallet punch point and report success
This commit is contained in:
@ -158,6 +158,40 @@ final class WildPhotographerReportTests: XCTestCase {
|
||||
XCTAssertEqual(response.list.first?.complaintNo, "JB20260708917")
|
||||
}
|
||||
|
||||
func testSubmitReportAPIReturnsComplaintNumber() async throws {
|
||||
let json = Data("""
|
||||
{
|
||||
"code": 100000,
|
||||
"data": {
|
||||
"complaint_no": "JB20260709886",
|
||||
"id": 40
|
||||
},
|
||||
"msg": "success",
|
||||
"time": "2026-07-09 14:09:41"
|
||||
}
|
||||
""".utf8)
|
||||
let session = MockURLSession(responses: [json])
|
||||
let api = WildPhotographerReportAPI(client: APIClient(environment: .testing, session: session))
|
||||
|
||||
let response = try await api.submitReport(WildReportSubmitRequest(
|
||||
scenicId: 128,
|
||||
reportType: 2,
|
||||
desc: "测试说明",
|
||||
storeUserId: nil,
|
||||
contactPhone: "13800138000",
|
||||
locationName: "测试景区",
|
||||
locationAddress: "测试地址",
|
||||
lat: 30.12,
|
||||
lng: 120.34,
|
||||
evidences: [WildReportEvidenceRequest(fileURL: "https://example.com/scene.jpg", fileType: 1, fileName: "scene.jpg")],
|
||||
paymentScreenshots: []
|
||||
))
|
||||
|
||||
XCTAssertEqual(session.requests.first?.url?.path, "/api/yf-handset-app/photog/report/submit")
|
||||
XCTAssertEqual(response.id, 40)
|
||||
XCTAssertEqual(response.complaintNo, "JB20260709886")
|
||||
}
|
||||
|
||||
func testReportDetailAPILoadsRemoteDetail() async throws {
|
||||
let json = Data("""
|
||||
{
|
||||
@ -548,6 +582,7 @@ final class WildPhotographerReportTests: XCTestCase {
|
||||
let homeViewModel = WildPhotographerReportHomeViewModel()
|
||||
let viewModel = WildPhotographerReportSubmitViewModel(homeViewModel: homeViewModel)
|
||||
let api = MockWildPhotographerReportAPI()
|
||||
api.submitResponse = WildReportSubmitResponse(id: 40, complaintNo: "JB20260709886")
|
||||
let uploader = MockWildReportAttachmentUploader()
|
||||
viewModel.selectReportType(WildReportType(value: 2, label: "疑似打野"))
|
||||
viewModel.addImages([try makeAttachment(kind: .image, fileName: "scene.jpg")])
|
||||
@ -559,7 +594,8 @@ final class WildPhotographerReportTests: XCTestCase {
|
||||
|
||||
XCTAssertNil(viewModel.validationMessage)
|
||||
XCTAssertNotNil(viewModel.submitResult)
|
||||
XCTAssertEqual(viewModel.submitResult?.record.id, "")
|
||||
XCTAssertEqual(viewModel.submitResult?.record.serverID, 40)
|
||||
XCTAssertEqual(viewModel.submitResult?.record.id, "JB20260709886")
|
||||
XCTAssertEqual(uploader.uploadedFileNames, ["scene.jpg", "payment.jpg"])
|
||||
XCTAssertEqual(api.submitRequests.first?.scenicId, 9)
|
||||
XCTAssertEqual(api.submitRequests.first?.reportType, 2)
|
||||
@ -1043,6 +1079,7 @@ private final class MockWildPhotographerReportAPI: WildPhotographerReportServing
|
||||
var reportCopyResponse = WildReportCopyResponse()
|
||||
var reportCopyError: Error?
|
||||
var error: Error?
|
||||
var submitResponse = WildReportSubmitResponse()
|
||||
var submitRequests: [WildReportSubmitRequest] = []
|
||||
var reportListResponses: [WildReportListResponse] = []
|
||||
var reportListRequests: [WildReportListRequest] = []
|
||||
@ -1069,9 +1106,10 @@ private final class MockWildPhotographerReportAPI: WildPhotographerReportServing
|
||||
return reportCopyResponse
|
||||
}
|
||||
|
||||
func submitReport(_ request: WildReportSubmitRequest) async throws {
|
||||
func submitReport(_ request: WildReportSubmitRequest) async throws -> WildReportSubmitResponse {
|
||||
if let error { throw error }
|
||||
submitRequests.append(request)
|
||||
return submitResponse
|
||||
}
|
||||
|
||||
func supplementReport(_ request: WildReportSupplementRequest) async throws {
|
||||
|
||||
Reference in New Issue
Block a user