Skip to content

Commit ad88973

Browse files
committed
Set 0.25 as default height when height is 0
1 parent b945188 commit ad88973

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

Networking/NetworkingTests/Remote/WooShippingRemoteTests.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,15 @@ final class WooShippingRemoteTests: XCTestCase {
132132
let remote = WooShippingRemote(network: network)
133133
network.simulateResponse(requestUrlSuffix: "label/rate", filename: "wooshipping-get-label-rates-success")
134134
let expectedDefaultRate = sampleLabelRate()
135+
let expectedPackage = ShippingLabelPackageSelected.fake().copy(length: 12, width: 20, height: 0)
135136

136137
// When
137138
let result: Result<[ShippingLabelCarriersAndRates], Error> = waitFor { promise in
138139
remote.loadLabelRates(siteID: self.sampleSiteID,
139140
orderID: self.sampleOrderID,
140141
originAddress: WooShippingAddress.fake(),
141142
destinationAddress: WooShippingAddress.fake(),
142-
packages: [ShippingLabelPackageSelected.fake()]) { (result) in
143+
packages: [expectedPackage]) { (result) in
143144
promise(result)
144145
}
145146
}
@@ -148,6 +149,9 @@ final class WooShippingRemoteTests: XCTestCase {
148149
let request = try XCTUnwrap(network.requestsForResponseData.last as? JetpackRequest)
149150
let featuresParam = try XCTUnwrap(request.parameters["features_supported_by_client"] as? [String])
150151
XCTAssertEqual(featuresParam, ["upsdap"])
152+
let packagesParam = try XCTUnwrap(request.parameters["packages"] as? [[String: Any]])
153+
let package = try XCTUnwrap(packagesParam.first)
154+
XCTAssertEqual(package["height"] as? Double, 0.25)
151155

152156
let successResponse = try XCTUnwrap(result.get())
153157
XCTAssertEqual(successResponse.first?.defaultRates.first, expectedDefaultRate)

Networking/Sources/Extended/Model/ShippingLabel/Packages/CarriersAndRates/ShippingLabelPackageSelected.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ extension ShippingLabelPackageSelected: Encodable {
4646
try container.encode(boxID.isEmpty ? "0" : boxID, forKey: .boxID)
4747
try container.encode(length, forKey: .length)
4848
try container.encode(width, forKey: .width)
49-
try container.encode(height, forKey: .height)
49+
50+
// workaround because 0 would cause an error for the API request
51+
try container.encode(height > 0 ? height : 0.25, forKey: .height)
52+
5053
try container.encode(weight, forKey: .weight)
5154
try container.encode(isLetter, forKey: .isLetter)
5255
try container.encodeIfPresent(hazmatCategory, forKey: .hazmatCategory)

0 commit comments

Comments
 (0)