func testGetRequestInProgress()

in source/UberRidesTests/ObjectMappingTests.swift [519:562]


    func testGetRequestInProgress() {
        let bundle = Bundle(for: ObjectMappingTests.self)
        if let path = bundle.path(forResource: "getRequestInProgress", ofType: "json") {
            if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path)) {
                guard let trip = try? JSONDecoder.uberDecoder.decode(Ride.self, from: jsonData) else {
                    XCTAssert(false)
                    return
                }

                XCTAssertEqual(trip.requestID, "a274f565-cdb7-4a64-947d-042dfd185eed")
                XCTAssertEqual(trip.productID, "a1111c8c-c720-46c3-8534-2fcdd730040d")
                XCTAssertEqual(trip.status, RideStatus.inProgress)
                XCTAssertEqual(trip.isShared, false)

                XCTAssertNotNil(trip.driverLocation)
                XCTAssertEqual(trip.driverLocation?.latitude, 37.7751956968)
                XCTAssertEqual(trip.driverLocation?.longitude, -122.4174361781)
                XCTAssertEqual(trip.driverLocation?.bearing, 310)

                XCTAssertNotNil(trip.vehicle)
                XCTAssertEqual(trip.vehicle?.make, "Oldsmobile")
                XCTAssertNil(trip.vehicle?.pictureURL)
                XCTAssertEqual(trip.vehicle?.model, "Alero")
                XCTAssertEqual(trip.vehicle?.licensePlate, "123-XYZ")

                XCTAssertNotNil(trip.driver)
                XCTAssertEqual(trip.driver?.phoneNumber, "+16504886027")
                XCTAssertEqual(trip.driver?.rating, 5)
                XCTAssertEqual(trip.driver?.pictureURL, URL(string: "https://d1w2poirtb3as9.cloudfront.net/4615701cdfbb033148d4.jpeg")!)
                XCTAssertEqual(trip.driver?.name, "Edward")
                XCTAssertEqual(trip.driver?.smsNumber, "+16504886027")

                XCTAssertNotNil(trip.pickup)
                XCTAssertEqual(trip.pickup!.latitude, 37.7759792)
                XCTAssertEqual(trip.pickup!.longitude, -122.41823)
                XCTAssertNil(trip.pickup!.eta)

                XCTAssertNotNil(trip.destination)
                XCTAssertEqual(trip.destination!.latitude, 37.7259792)
                XCTAssertEqual(trip.destination!.longitude, -122.42823)
                XCTAssertEqual(trip.destination!.eta, 16)
            }
        }
    }