in source/UberRidesTests/APIManagerTests.swift [431:467]
func testPatchRequestByID() {
let builder = RideParametersBuilder()
builder.pickupPlaceID = Place.home
let rideParams = builder.build()
let request = buildRequestForEndpoint(Requests.patchRequest(requestID: requestID, rideParameters: rideParams))
XCTAssertEqual(request.httpMethod, "PATCH")
if let url = request.url {
XCTAssertEqual(url.absoluteString, ExpectedEndpoint.PatchRequestByID)
} else {
XCTAssert(false)
}
if let headers = request.allHTTPHeaderFields {
XCTAssertEqual(headers["Content-Type"], "application/json")
} else {
XCTAssert(false)
}
guard let data = request.httpBody else {
XCTAssert(false)
return
}
var dict: NSDictionary?
do {
dict = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? NSDictionary
} catch {
XCTAssert(false)
}
guard let dictionary = dict else {
XCTAssert(false)
return
}
XCTAssertEqual(dictionary["start_place_id"] as? String, Place.home)
}