Fix stray question marks

This commit is contained in:
Sami Samhuri 2025-06-15 16:59:44 -07:00
parent bcf402db8f
commit bc3ce2c93e
No known key found for this signature in database
13 changed files with 258 additions and 245 deletions

View file

@ -133,7 +133,7 @@ public final class RequestBuilder {
if let existingQueryItems = components?.queryItems {
components?.queryItems = existingQueryItems + newQueryItems
} else {
} else if !newQueryItems.isEmpty {
components?.queryItems = newQueryItems
}

View file

@ -293,4 +293,17 @@ class RequestBuilderTests: XCTestCase {
}
}
func testBuildGETRequestWithEmptyParametersDoesNotIncludeQueryString() throws {
let httpRequest = HTTPRequest.get(baseURL, parameters: [:])
let urlRequest = try RequestBuilder.build(request: httpRequest)
XCTAssertEqual(urlRequest.httpMethod, "GET")
XCTAssertNil(urlRequest.httpBody)
XCTAssertNil(urlRequest.value(forHTTPHeaderField: "Content-Type"))
let urlString = urlRequest.url?.absoluteString ?? ""
XCTAssertEqual(urlString, baseURL.absoluteString, "URL should not contain query string when parameters are empty")
XCTAssertFalse(urlString.contains("?"), "URL should not contain question mark when parameters are empty")
}
}