func testGetRideReceipt()

in source/UberRidesTests/ObjectMappingTests.swift [733:766]


    func testGetRideReceipt() {
        let bundle = Bundle(for: ObjectMappingTests.self)
        if let path = bundle.path(forResource: "rideReceipt", ofType: "json") {
            if let jsonData = try? Data(contentsOf: URL(fileURLWithPath: path)) {
                guard let receipt = try? JSONDecoder.uberDecoder.decode(RideReceipt.self, from: jsonData) else {
                    XCTAssert(false)
                    return
                }
                
                XCTAssertEqual(receipt.requestID, "f590713c-fe6b-438b-9da1-8aeeea430657")
                
                let chargeAdjustments = receipt.chargeAdjustments
                
                XCTAssertEqual(chargeAdjustments?.count, 1)
                XCTAssertEqual(chargeAdjustments?.first?.name, "Booking Fee")
                XCTAssertEqual(chargeAdjustments?.first?.type, "booking_fee")

                XCTAssertEqual(receipt.subtotal, "$12.78")
                XCTAssertEqual(receipt.totalCharged, "$5.92")
                XCTAssertEqual(receipt.totalFare, "$12.79")
                XCTAssertEqual(receipt.totalOwed, 0.0)
                XCTAssertEqual(receipt.currencyCode, "USD")
                XCTAssertEqual(receipt.duration?.hour, 0)
                XCTAssertEqual(receipt.duration?.minute, 11)
                XCTAssertEqual(receipt.duration?.second, 32)
                XCTAssertEqual(receipt.distance, "1.87")
                XCTAssertEqual(receipt.distanceLabel, "miles")
                
                return
            }
        }
        
        XCTAssert(false)
    }