Skip to content

Commit 23dcb65

Browse files
committed
Update naming
1 parent 466c36f commit 23dcb65

File tree

4 files changed

+31
-31
lines changed

4 files changed

+31
-31
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/Factories/StatsV4DataHelper.swift renamed to WooCommerce/Classes/ViewRelated/Dashboard/Factories/StatsDataTextFormatter.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import Foundation
22
import Yosemite
33
import WooFoundation
44

5-
/// Helpers for calculating and displaying Stats V4 data
5+
/// Helpers for calculating and formatting stats data for display.
66
///
7-
final class StatsV4DataHelper {
7+
struct StatsDataTextFormatter {
88

99
// MARK: Revenue Stats
1010

@@ -97,7 +97,7 @@ final class StatsV4DataHelper {
9797

9898
// MARK: - Private helpers
9999

100-
private extension StatsV4DataHelper {
100+
private extension StatsDataTextFormatter {
101101
/// Retrieves the visitor count for the provided order stats and, optionally, a specific interval.
102102
///
103103
static func visitorCount(at selectedIndex: Int?, siteStats: SiteVisitStats?) -> Double? {

WooCommerce/Classes/ViewRelated/Dashboard/Stats v4/StoreStatsPeriodViewModel.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ final class StoreStatsPeriodViewModel {
2222
private(set) lazy var orderStatsText: AnyPublisher<String, Never> =
2323
Publishers.CombineLatest($orderStatsData.eraseToAnyPublisher(), $selectedIntervalIndex.eraseToAnyPublisher())
2424
.compactMap { [weak self] orderStatsData, selectedIntervalIndex in
25-
StatsV4DataHelper.createOrderCountText(orderStats: orderStatsData.stats, selectedIntervalIndex: selectedIntervalIndex)
25+
StatsDataTextFormatter.createOrderCountText(orderStats: orderStatsData.stats, selectedIntervalIndex: selectedIntervalIndex)
2626
}
2727
.removeDuplicates()
2828
.eraseToAnyPublisher()
2929

3030
/// Emits revenue stats text values based on order stats, selected time interval, and currency code.
3131
private(set) lazy var revenueStatsText: AnyPublisher<String, Never> = $orderStatsData.combineLatest($selectedIntervalIndex, currencySettings.$currencyCode)
3232
.compactMap { [weak self] orderStatsData, selectedIntervalIndex, currencyCode in
33-
StatsV4DataHelper.createTotalRevenueText(orderStats: orderStatsData.stats,
33+
StatsDataTextFormatter.createTotalRevenueText(orderStats: orderStatsData.stats,
3434
selectedIntervalIndex: selectedIntervalIndex,
3535
currencyFormatter: self?.currencyFormatter,
3636
currencyCode: currencyCode.rawValue)
@@ -42,7 +42,7 @@ final class StoreStatsPeriodViewModel {
4242
private(set) lazy var visitorStatsText: AnyPublisher<String, Never> =
4343
Publishers.CombineLatest($siteStats.eraseToAnyPublisher(), $selectedIntervalIndex.eraseToAnyPublisher())
4444
.compactMap { siteStats, selectedIntervalIndex in
45-
StatsV4DataHelper.createVisitorCountText(siteStats: siteStats, selectedIntervalIndex: selectedIntervalIndex)
45+
StatsDataTextFormatter.createVisitorCountText(siteStats: siteStats, selectedIntervalIndex: selectedIntervalIndex)
4646
}
4747
.removeDuplicates()
4848
.eraseToAnyPublisher()
@@ -51,7 +51,7 @@ final class StoreStatsPeriodViewModel {
5151
private(set) lazy var conversionStatsText: AnyPublisher<String, Never> =
5252
Publishers.CombineLatest3($orderStatsData.eraseToAnyPublisher(), $siteStats.eraseToAnyPublisher(), $selectedIntervalIndex.eraseToAnyPublisher())
5353
.compactMap { orderStatsData, siteStats, selectedIntervalIndex in
54-
StatsV4DataHelper.createConversionRateText(orderStats: orderStatsData.stats, siteStats: siteStats, selectedIntervalIndex: selectedIntervalIndex)
54+
StatsDataTextFormatter.createConversionRateText(orderStats: orderStatsData.stats, siteStats: siteStats, selectedIntervalIndex: selectedIntervalIndex)
5555
}
5656
.removeDuplicates()
5757
.eraseToAnyPublisher()
@@ -268,7 +268,7 @@ private extension StoreStatsPeriodViewModel {
268268

269269
func updateOrderDataIfNeeded() {
270270
let orderStats = orderStatsResultsController.fetchedObjects.first
271-
let intervals = StatsV4DataHelper.sortOrderStatsIntervals(from: orderStats)
271+
let intervals = StatsDataTextFormatter.sortOrderStatsIntervals(from: orderStats)
272272
orderStatsData = (stats: orderStats, intervals: intervals)
273273
}
274274
}

WooCommerce/WooCommerce.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1382,8 +1382,8 @@
13821382
C0A37CB8282957EB00E0826D /* orders_3337_add_customer_details.json in Resources */ = {isa = PBXBuildFile; fileRef = C0A37CB7282957EB00E0826D /* orders_3337_add_customer_details.json */; };
13831383
C0CE1F84282AB1590019138E /* countries.json in Resources */ = {isa = PBXBuildFile; fileRef = C0CE1F83282AB1590019138E /* countries.json */; };
13841384
CC0324A3263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0324A2263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift */; };
1385-
CC04918D292BB74500F719D8 /* StatsV4DataHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC04918C292BB74500F719D8 /* StatsV4DataHelper.swift */; };
1386-
CC04918F292BD6AC00F719D8 /* StatsV4DataHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC04918E292BD6AC00F719D8 /* StatsV4DataHelperTests.swift */; };
1385+
CC04918D292BB74500F719D8 /* StatsDataTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC04918C292BB74500F719D8 /* StatsDataTextFormatter.swift */; };
1386+
CC04918F292BD6AC00F719D8 /* StatsDataTextFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC04918E292BD6AC00F719D8 /* StatsDataTextFormatterTests.swift */; };
13871387
CC078531266E706300BA9AC1 /* ErrorTopBannerFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC078530266E706300BA9AC1 /* ErrorTopBannerFactory.swift */; };
13881388
CC07860526736B6500BA9AC1 /* ErrorTopBannerFactoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC07860426736B6500BA9AC1 /* ErrorTopBannerFactoryTests.swift */; };
13891389
CC13C0CB278E021300C0B5B5 /* ProductVariationSelectorViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC13C0CA278E021300C0B5B5 /* ProductVariationSelectorViewModel.swift */; };
@@ -3356,8 +3356,8 @@
33563356
C0CE1F83282AB1590019138E /* countries.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = countries.json; sourceTree = "<group>"; };
33573357
CB4839361AA061340BE98DA9 /* Pods-StoreWidgetsExtension.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StoreWidgetsExtension.release-alpha.xcconfig"; path = "../Pods/Target Support Files/Pods-StoreWidgetsExtension/Pods-StoreWidgetsExtension.release-alpha.xcconfig"; sourceTree = "<group>"; };
33583358
CC0324A2263AD9F40056C6B7 /* MockShippingLabelAccountSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockShippingLabelAccountSettings.swift; sourceTree = "<group>"; };
3359-
CC04918C292BB74500F719D8 /* StatsV4DataHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatsV4DataHelper.swift; sourceTree = "<group>"; };
3360-
CC04918E292BD6AC00F719D8 /* StatsV4DataHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatsV4DataHelperTests.swift; sourceTree = "<group>"; };
3359+
CC04918C292BB74500F719D8 /* StatsDataTextFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatsDataTextFormatter.swift; sourceTree = "<group>"; };
3360+
CC04918E292BD6AC00F719D8 /* StatsDataTextFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatsDataTextFormatterTests.swift; sourceTree = "<group>"; };
33613361
CC078530266E706300BA9AC1 /* ErrorTopBannerFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTopBannerFactory.swift; sourceTree = "<group>"; };
33623362
CC07860426736B6500BA9AC1 /* ErrorTopBannerFactoryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTopBannerFactoryTests.swift; sourceTree = "<group>"; };
33633363
CC13C0CA278E021300C0B5B5 /* ProductVariationSelectorViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProductVariationSelectorViewModel.swift; sourceTree = "<group>"; };
@@ -4778,7 +4778,7 @@
47784778
029D444722F13F5C00DEFA8A /* Factories */ = {
47794779
isa = PBXGroup;
47804780
children = (
4781-
CC04918C292BB74500F719D8 /* StatsV4DataHelper.swift */,
4781+
CC04918C292BB74500F719D8 /* StatsDataTextFormatter.swift */,
47824782
);
47834783
path = Factories;
47844784
sourceTree = "<group>";
@@ -4962,7 +4962,7 @@
49624962
0257285B230ACC7E00A288C4 /* StoreStatsV4ChartAxisHelperTests.swift */,
49634963
02AB40812784297C00929CF3 /* ProductTableViewCellViewModelTests.swift */,
49644964
028E1F712833E954001F8829 /* DashboardViewModelTests.swift */,
4965-
CC04918E292BD6AC00F719D8 /* StatsV4DataHelperTests.swift */,
4965+
CC04918E292BD6AC00F719D8 /* StatsDataTextFormatterTests.swift */,
49664966
);
49674967
path = Dashboard;
49684968
sourceTree = "<group>";
@@ -10549,7 +10549,7 @@
1054910549
B9DA153C280EC7D700FC67DD /* OrderRefundsOptionsDeterminer.swift in Sources */,
1055010550
453227B723C4D6EC00D816B3 /* TimeZone+Woo.swift in Sources */,
1055110551
CC53FB3527551A6E00C4CA4F /* ProductRow.swift in Sources */,
10552-
CC04918D292BB74500F719D8 /* StatsV4DataHelper.swift in Sources */,
10552+
CC04918D292BB74500F719D8 /* StatsDataTextFormatter.swift in Sources */,
1055310553
2662D90A26E16B3600E25611 /* FilterListSelector.swift in Sources */,
1055410554
DECE1400279A595200816ECD /* Coupon+Woo.swift in Sources */,
1055510555
314265B12645A07800500598 /* CardReaderSettingsConnectedViewController.swift in Sources */,
@@ -11220,7 +11220,7 @@
1122011220
02B2C831249C4C8D0040C83C /* TextFieldTextAlignmentTests.swift in Sources */,
1122111221
CC923A1D2847A8E0008EEEBE /* OrderStatusListViewModelTests.swift in Sources */,
1122211222
D85B833D2230DC9D002168F3 /* StringWooTests.swift in Sources */,
11223-
CC04918F292BD6AC00F719D8 /* StatsV4DataHelperTests.swift in Sources */,
11223+
CC04918F292BD6AC00F719D8 /* StatsDataTextFormatterTests.swift in Sources */,
1122411224
02BC5AA524D27F8900C43326 /* ProductVariationFormViewModel+UpdatesTests.swift in Sources */,
1122511225
D8736B5122EB69E300A14A29 /* OrderDetailsViewModelTests.swift in Sources */,
1122611226
02C0CD2E23B5E3AE00F880B1 /* DefaultImageServiceTests.swift in Sources */,

WooCommerce/WooCommerceTests/ViewRelated/Dashboard/StatsV4DataHelperTests.swift renamed to WooCommerce/WooCommerceTests/ViewRelated/Dashboard/StatsDataTextFormatterTests.swift

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import Yosemite
33
import WooFoundation
44
@testable import WooCommerce
55

6-
/// `StatsV4DataHelper` tests.
6+
/// `StatsDataTextFormatter` tests.
77
///
8-
final class StatsV4DataHelperTests: XCTestCase {
8+
final class StatsDataTextFormatterTests: XCTestCase {
99

1010
private let currencyFormatter = CurrencyFormatter(currencySettings: CurrencySettings()) // Default is US
1111
private let currencyCode = CurrencySettings().currencyCode
@@ -17,7 +17,7 @@ final class StatsV4DataHelperTests: XCTestCase {
1717
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(grossRevenue: 62))
1818

1919
// When
20-
let totalRevenue = StatsV4DataHelper.createTotalRevenueText(orderStats: orderStats,
20+
let totalRevenue = StatsDataTextFormatter.createTotalRevenueText(orderStats: orderStats,
2121
selectedIntervalIndex: nil,
2222
currencyFormatter: currencyFormatter,
2323
currencyCode: currencyCode.rawValue)
@@ -31,7 +31,7 @@ final class StatsV4DataHelperTests: XCTestCase {
3131
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(grossRevenue: 62.856))
3232

3333
// When
34-
let totalRevenue = StatsV4DataHelper.createTotalRevenueText(orderStats: orderStats,
34+
let totalRevenue = StatsDataTextFormatter.createTotalRevenueText(orderStats: orderStats,
3535
selectedIntervalIndex: nil,
3636
currencyFormatter: currencyFormatter,
3737
currencyCode: currencyCode.rawValue)
@@ -53,7 +53,7 @@ final class StatsV4DataHelperTests: XCTestCase {
5353
let selectedIntervalIndex = 1 // Corresponds to the second earliest interval, which is the first interval in `OrderStatsV4`.
5454

5555
// When
56-
let totalRevenue = StatsV4DataHelper.createTotalRevenueText(orderStats: orderStats,
56+
let totalRevenue = StatsDataTextFormatter.createTotalRevenueText(orderStats: orderStats,
5757
selectedIntervalIndex: selectedIntervalIndex,
5858
currencyFormatter: currencyFormatter,
5959
currencyCode: currencyCode.rawValue)
@@ -69,7 +69,7 @@ final class StatsV4DataHelperTests: XCTestCase {
6969
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(totalOrders: 3))
7070

7171
// When
72-
let orderCount = StatsV4DataHelper.createOrderCountText(orderStats: orderStats, selectedIntervalIndex: nil)
72+
let orderCount = StatsDataTextFormatter.createOrderCountText(orderStats: orderStats, selectedIntervalIndex: nil)
7373

7474
// Then
7575
XCTAssertEqual(orderCount, "3")
@@ -88,7 +88,7 @@ final class StatsV4DataHelperTests: XCTestCase {
8888
let selectedIntervalIndex = 1 // Corresponds to the second earliest interval, which is the first interval in `OrderStatsV4`.
8989

9090
// When
91-
let orderCount = StatsV4DataHelper.createOrderCountText(orderStats: orderStats, selectedIntervalIndex: selectedIntervalIndex)
91+
let orderCount = StatsDataTextFormatter.createOrderCountText(orderStats: orderStats, selectedIntervalIndex: selectedIntervalIndex)
9292

9393
// Then
9494
XCTAssertEqual(orderCount, "1")
@@ -99,7 +99,7 @@ final class StatsV4DataHelperTests: XCTestCase {
9999
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(averageOrderValue: 62))
100100

101101
// When
102-
let averageOrderValue = StatsV4DataHelper.createAverageOrderValueText(orderStats: orderStats,
102+
let averageOrderValue = StatsDataTextFormatter.createAverageOrderValueText(orderStats: orderStats,
103103
currencyFormatter: currencyFormatter,
104104
currencyCode: currencyCode.rawValue)
105105

@@ -112,7 +112,7 @@ final class StatsV4DataHelperTests: XCTestCase {
112112
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(averageOrderValue: 62.856))
113113

114114
// When
115-
let averageOrderValue = StatsV4DataHelper.createAverageOrderValueText(orderStats: orderStats,
115+
let averageOrderValue = StatsDataTextFormatter.createAverageOrderValueText(orderStats: orderStats,
116116
currencyFormatter: currencyFormatter,
117117
currencyCode: currencyCode.rawValue)
118118

@@ -130,7 +130,7 @@ final class StatsV4DataHelperTests: XCTestCase {
130130
.fake().copy(period: "0", visitors: 5)])
131131

132132
// When
133-
let visitorCount = StatsV4DataHelper.createVisitorCountText(siteStats: siteVisitStats, selectedIntervalIndex: nil)
133+
let visitorCount = StatsDataTextFormatter.createVisitorCountText(siteStats: siteVisitStats, selectedIntervalIndex: nil)
134134

135135
// Then
136136
XCTAssertEqual(visitorCount, "22")
@@ -144,7 +144,7 @@ final class StatsV4DataHelperTests: XCTestCase {
144144

145145

146146
// When
147-
let visitorCount = StatsV4DataHelper.createVisitorCountText(siteStats: siteVisitStats, selectedIntervalIndex: selectedIntervalIndex)
147+
let visitorCount = StatsDataTextFormatter.createVisitorCountText(siteStats: siteVisitStats, selectedIntervalIndex: selectedIntervalIndex)
148148

149149
// Then
150150
XCTAssertEqual(visitorCount, "17")
@@ -158,7 +158,7 @@ final class StatsV4DataHelperTests: XCTestCase {
158158
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(totalOrders: 3))
159159

160160
// When
161-
let conversionRate = StatsV4DataHelper.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: nil)
161+
let conversionRate = StatsDataTextFormatter.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: nil)
162162

163163
// Then
164164
XCTAssertEqual(conversionRate, "0%")
@@ -170,7 +170,7 @@ final class StatsV4DataHelperTests: XCTestCase {
170170
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(totalOrders: 3557))
171171

172172
// When
173-
let conversionRate = StatsV4DataHelper.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: nil)
173+
let conversionRate = StatsDataTextFormatter.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: nil)
174174

175175
// Then
176176
XCTAssertEqual(conversionRate, "35.6%") // order count: 3557, visitor count: 10000 => 0.3557 (35.57%)
@@ -182,7 +182,7 @@ final class StatsV4DataHelperTests: XCTestCase {
182182
let orderStats = OrderStatsV4.fake().copy(totals: .fake().copy(totalOrders: 3))
183183

184184
// When
185-
let conversionRate = StatsV4DataHelper.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: nil)
185+
let conversionRate = StatsDataTextFormatter.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: nil)
186186

187187
// Then
188188
XCTAssertEqual(conversionRate, "30%") // order count: 3, visitor count: 10 => 0.3 (30%)
@@ -195,7 +195,7 @@ final class StatsV4DataHelperTests: XCTestCase {
195195
intervals: [.fake().copy(subtotals: .fake().copy(totalOrders: 1))])
196196

197197
// When
198-
let conversionRate = StatsV4DataHelper.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: 0)
198+
let conversionRate = StatsDataTextFormatter.createConversionRateText(orderStats: orderStats, siteStats: siteVisitStats, selectedIntervalIndex: 0)
199199

200200
// Then
201201
XCTAssertEqual(conversionRate, "10%")

0 commit comments

Comments
 (0)