func testBuildDeeplinkWithAllParameters()

in source/UberRidesTests/RequestDeeplinkTests.swift [174:204]


    func testBuildDeeplinkWithAllParameters() {
        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
        builder.pickupNickname = pickupNickname
        builder.pickupAddress = pickupAddress
        builder.dropoffNickname = dropoffNickname
        builder.dropoffAddress = dropoffAddress
        let rideParams = builder.build()
        let deeplink = RequestDeeplink(rideParameters: rideParams)
        
        let components = URLComponents(url: deeplink.url, resolvingAgainstBaseURL: false)
        XCTAssertEqual(components?.queryItems?.count, 12)
        
        let query = components?.query
        XCTAssertTrue(query!.contains(ExpectedDeeplink.clientIDQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.productIDQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.setPickupAction))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.pickupLatQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.pickupLongQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.pickupNicknameQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.pickupAddressQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.dropoffLatQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.dropoffLongQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.dropoffNicknameQuery))
        XCTAssertTrue(query!.contains(ExpectedDeeplink.dropoffAddressQuery))
        XCTAssertTrue(query!.contains(expectedDeeplinkUserAgent!))
    }