func testErrorGettingTimeEstimates()

in source/UberRidesTests/RequestButtonTests.swift [280:311]


    func testErrorGettingTimeEstimates() {
        stub(condition: isHost("sandbox-api.uber.com")) { urlRequest in
            if isPath("/v1.2/estimates/price")(urlRequest) {
                return HTTPStubsResponse(fileAtPath:OHPathForFile("getPriceEstimates.json", type(of: self))!, statusCode:200, headers:nil)
            } else if isPath("/v1.2/estimates/time")(urlRequest) {
                let obj = ["code":"time_estimate_error"]
                return HTTPStubsResponse(jsonObject: obj, statusCode: 404, headers: nil)
            } else {
                XCTAssert(false)
                return HTTPStubsResponse()
            }
        }
        
        errorExpectation = expectation(description: "time estimate error")
        let pickupLocation = CLLocation(latitude: pickupLat, longitude: pickupLong)
        let dropoffLocation = CLLocation(latitude: dropoffLat, longitude: dropoffLong)
        let builder = RideParametersBuilder()
        builder.pickupLocation = pickupLocation
        builder.dropoffLocation = dropoffLocation
        builder.productID = productID
        let rideParams = builder.build()
        button = RideRequestButton(client: client, rideParameters:rideParams, requestingBehavior: DeeplinkRequestingBehavior())
        button.delegate = self
        button.loadRideInformation()
        
        waitForExpectations(timeout: timeout, handler: { error in
            XCTAssertNil(error)
            XCTAssertEqual(self.button.uberTitleLabel.text!, "Get a ride")
            XCTAssertEqual(self.button.uberMetadataLabel.text!, "$15 for uberX")
            XCTAssertEqual(self.rideButtonError.code, "time_estimate_error")
        })
    }