Skip to content

Commit 5289894

Browse files
committed
Use Decimal type for consistent stats data handling
1 parent 11473bd commit 5289894

File tree

8 files changed

+22
-22
lines changed

8 files changed

+22
-22
lines changed

Networking/Networking/Model/Copiable/Models+Copiable.generated.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -730,7 +730,7 @@ extension Networking.OrderStatsV4Totals {
730730
shipping: CopiableProp<Decimal> = .copy,
731731
netRevenue: CopiableProp<Decimal> = .copy,
732732
totalProducts: NullableCopiableProp<Int> = .copy,
733-
averageOrderValue: CopiableProp<Double> = .copy
733+
averageOrderValue: CopiableProp<Decimal> = .copy
734734
) -> Networking.OrderStatsV4Totals {
735735
let totalOrders = totalOrders ?? self.totalOrders
736736
let totalItemsSold = totalItemsSold ?? self.totalItemsSold

Networking/Networking/Model/Stats/OrderStatsV4Totals.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public struct OrderStatsV4Totals: Decodable, Equatable, GeneratedCopiable, Gener
1313
public let shipping: Decimal
1414
public let netRevenue: Decimal
1515
public let totalProducts: Int?
16-
public let averageOrderValue: Double
16+
public let averageOrderValue: Decimal
1717

1818
public init(totalOrders: Int,
1919
totalItemsSold: Int,
@@ -25,7 +25,7 @@ public struct OrderStatsV4Totals: Decodable, Equatable, GeneratedCopiable, Gener
2525
shipping: Decimal,
2626
netRevenue: Decimal,
2727
totalProducts: Int?,
28-
averageOrderValue: Double) {
28+
averageOrderValue: Decimal) {
2929
self.totalOrders = totalOrders
3030
self.totalItemsSold = totalItemsSold
3131
self.grossRevenue = grossRevenue
@@ -51,7 +51,7 @@ public struct OrderStatsV4Totals: Decodable, Equatable, GeneratedCopiable, Gener
5151
let shipping = try container.decode(Decimal.self, forKey: .shipping)
5252
let netRevenue = try container.decode(Decimal.self, forKey: .netRevenue)
5353
let totalProducts = try container.decodeIfPresent(Int.self, forKey: .products)
54-
let averageOrderValue = try container.decode(Double.self, forKey: .averageOrderValue)
54+
let averageOrderValue = try container.decode(Decimal.self, forKey: .averageOrderValue)
5555

5656
self.init(totalOrders: totalOrders,
5757
totalItemsSold: totalItemsSold,

Networking/NetworkingTests/Mapper/OrderStatsMapperV4Tests.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
3030
XCTAssertEqual(hourlyStats.totals.shipping, 0)
3131
XCTAssertEqual(hourlyStats.totals.netRevenue, 800)
3232
XCTAssertEqual(hourlyStats.totals.totalProducts, 2)
33-
XCTAssertEqual(hourlyStats.totals.averageOrderValue, 266.66666666666667)
33+
XCTAssertEqual(hourlyStats.totals.averageOrderValue, 266)
3434

3535
XCTAssertEqual(hourlyStats.intervals.count, 24)
3636

@@ -72,7 +72,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
7272
XCTAssertEqual(dailyStats.totals.shipping, 0)
7373
XCTAssertEqual(dailyStats.totals.netRevenue, 800)
7474
XCTAssertEqual(dailyStats.totals.totalProducts, 2)
75-
XCTAssertEqual(dailyStats.totals.averageOrderValue, 266.66666666666667)
75+
XCTAssertEqual(dailyStats.totals.averageOrderValue, 266)
7676

7777
XCTAssertEqual(dailyStats.intervals.count, 1)
7878

@@ -90,7 +90,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
9090
XCTAssertEqual(nonZeroDayTotals.shipping, 0)
9191
XCTAssertEqual(nonZeroDayTotals.netRevenue, 800)
9292
XCTAssertNil(nonZeroDayTotals.totalProducts)
93-
XCTAssertEqual(nonZeroDayTotals.averageOrderValue, 266.66666666666667)
93+
XCTAssertEqual(nonZeroDayTotals.averageOrderValue, 266)
9494
}
9595

9696
/// Verifies that all of the weekly unit OrderStatsV4 fields are parsed correctly.
@@ -114,7 +114,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
114114
XCTAssertEqual(weeklyStats.totals.shipping, 0)
115115
XCTAssertEqual(weeklyStats.totals.netRevenue, 800)
116116
XCTAssertEqual(weeklyStats.totals.totalProducts, 2)
117-
XCTAssertEqual(weeklyStats.totals.averageOrderValue, 266.66666666666667)
117+
XCTAssertEqual(weeklyStats.totals.averageOrderValue, 266)
118118

119119
XCTAssertEqual(weeklyStats.intervals.count, 2)
120120

@@ -132,7 +132,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
132132
XCTAssertEqual(nonZeroWeekTotals.shipping, 0)
133133
XCTAssertEqual(nonZeroWeekTotals.netRevenue, 800)
134134
XCTAssertNil(nonZeroWeekTotals.totalProducts)
135-
XCTAssertEqual(nonZeroWeekTotals.averageOrderValue, 266.66666666666667)
135+
XCTAssertEqual(nonZeroWeekTotals.averageOrderValue, 266)
136136
}
137137

138138
/// Verifies that all of the monthly unit OrderStatsV4 fields are parsed correctly.
@@ -156,7 +156,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
156156
XCTAssertEqual(monthlyStats.totals.shipping, 0)
157157
XCTAssertEqual(monthlyStats.totals.netRevenue, 800)
158158
XCTAssertEqual(monthlyStats.totals.totalProducts, 2)
159-
XCTAssertEqual(monthlyStats.totals.averageOrderValue, 266.66666666666667)
159+
XCTAssertEqual(monthlyStats.totals.averageOrderValue, 266)
160160

161161
XCTAssertEqual(monthlyStats.intervals.count, 1)
162162

@@ -174,7 +174,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
174174
XCTAssertEqual(nonZeroMonthTotals.shipping, 0)
175175
XCTAssertEqual(nonZeroMonthTotals.netRevenue, 800)
176176
XCTAssertNil(nonZeroMonthTotals.totalProducts)
177-
XCTAssertEqual(nonZeroMonthTotals.averageOrderValue, 266.66666666666667)
177+
XCTAssertEqual(nonZeroMonthTotals.averageOrderValue, 266)
178178
}
179179

180180
/// Verifies that all of the yearly unit OrderStatsV4 fields are parsed correctly.
@@ -198,7 +198,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
198198
XCTAssertEqual(yearlyStats.totals.shipping, 0)
199199
XCTAssertEqual(yearlyStats.totals.netRevenue, 800)
200200
XCTAssertEqual(yearlyStats.totals.totalProducts, 2)
201-
XCTAssertEqual(yearlyStats.totals.averageOrderValue, 266.66666666666667)
201+
XCTAssertEqual(yearlyStats.totals.averageOrderValue, 266)
202202

203203
XCTAssertEqual(yearlyStats.intervals.count, 1)
204204

@@ -216,7 +216,7 @@ final class OrderStatsV4MapperTests: XCTestCase {
216216
XCTAssertEqual(nonZeroYearTotals.shipping, 0)
217217
XCTAssertEqual(nonZeroYearTotals.netRevenue, 800)
218218
XCTAssertNil(nonZeroYearTotals.totalProducts)
219-
XCTAssertEqual(nonZeroYearTotals.averageOrderValue, 266.66666666666667)
219+
XCTAssertEqual(nonZeroYearTotals.averageOrderValue, 266)
220220
}
221221
}
222222

Networking/NetworkingTests/Responses/order-stats-v4-daily.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"shipping": 0,
1212
"net_revenue": 800,
1313
"products": 2,
14-
"avg_order_value": 266.66666666666667,
14+
"avg_order_value": 266,
1515
"segments": []
1616
},
1717
"intervals": [
@@ -31,7 +31,7 @@
3131
"taxes": 0,
3232
"shipping": 0,
3333
"net_revenue": 800,
34-
"avg_order_value": 266.66666666666667,
34+
"avg_order_value": 266,
3535
"segments": []
3636
}
3737
}

Networking/NetworkingTests/Responses/order-stats-v4-defaults.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"taxes": 0,
1111
"shipping": 0,
1212
"net_revenue": 800,
13-
"avg_order_value": 266.66666666666667,
13+
"avg_order_value": 266,
1414
"products": 2,
1515
"segments": []
1616
},
@@ -31,7 +31,7 @@
3131
"taxes": 0,
3232
"shipping": 0,
3333
"net_revenue": 800,
34-
"avg_order_value": 266.66666666666667,
34+
"avg_order_value": 266,
3535
"segments": []
3636
}
3737
},

Networking/NetworkingTests/Responses/order-stats-v4-hour.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"taxes": 0,
1111
"shipping": 0,
1212
"net_revenue": 800,
13-
"avg_order_value": 266.66666666666667,
13+
"avg_order_value": 266,
1414
"products": 2,
1515
"segments": []
1616
},

Networking/NetworkingTests/Responses/order-stats-v4-month.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"taxes": 0,
1111
"shipping": 0,
1212
"net_revenue": 800,
13-
"avg_order_value": 266.66666666666667,
13+
"avg_order_value": 266,
1414
"products": 2,
1515
"segments": []
1616
},
@@ -31,7 +31,7 @@
3131
"taxes": 0,
3232
"shipping": 0,
3333
"net_revenue": 800,
34-
"avg_order_value": 266.66666666666667,
34+
"avg_order_value": 266,
3535
"segments": []
3636
}
3737
}

Networking/NetworkingTests/Responses/order-stats-v4-year.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"shipping": 0,
1212
"net_revenue": 800,
1313
"products": 2,
14-
"avg_order_value": 266.66666666666667,
14+
"avg_order_value": 266,
1515
"segments": []
1616
},
1717
"intervals": [
@@ -31,7 +31,7 @@
3131
"taxes": 0,
3232
"shipping": 0,
3333
"net_revenue": 800,
34-
"avg_order_value": 266.66666666666667,
34+
"avg_order_value": 266,
3535
"segments": []
3636
}
3737
}

0 commit comments

Comments
 (0)