Skip to content

Commit 1375bf1

Browse files
committed
Prepare for additional site stats endpoints
1 parent eed8364 commit 1375bf1

File tree

6 files changed

+29
-26
lines changed

6 files changed

+29
-26
lines changed

Networking/Networking.xcodeproj/project.pbxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@
369369
68F48B1328E3E5750045C15B /* wc-analytics-customers.json in Resources */ = {isa = PBXBuildFile; fileRef = 68F48B1228E3E5750045C15B /* wc-analytics-customers.json */; };
370370
68FBC5B828928C8C00A05461 /* WooFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68FBC5B728928C8C00A05461 /* WooFoundation.framework */; };
371371
74002D6A2118B26100A63C19 /* SiteVisitStatsMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74002D692118B26000A63C19 /* SiteVisitStatsMapperTests.swift */; };
372-
74002D6C2118B88200A63C19 /* SiteVisitStatsRemoteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74002D6B2118B88200A63C19 /* SiteVisitStatsRemoteTests.swift */; };
372+
74002D6C2118B88200A63C19 /* SiteStatsRemoteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74002D6B2118B88200A63C19 /* SiteStatsRemoteTests.swift */; };
373373
740211DF2193985A002248DA /* comment-moderate-spam.json in Resources */ = {isa = PBXBuildFile; fileRef = 740211DE2193985A002248DA /* comment-moderate-spam.json */; };
374374
740211E121939908002248DA /* CommentRemoteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740211E021939908002248DA /* CommentRemoteTests.swift */; };
375375
740211E321939C84002248DA /* CommentResultMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740211E221939C83002248DA /* CommentResultMapper.swift */; };
@@ -419,7 +419,7 @@
419419
74A1D26821189A7100931DFA /* SiteVisitStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A1D26721189A7000931DFA /* SiteVisitStats.swift */; };
420420
74A1D26B21189B8100931DFA /* SiteVisitStatsItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A1D26A21189B8100931DFA /* SiteVisitStatsItem.swift */; };
421421
74A1D26D21189DFF00931DFA /* SiteVisitStatsMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A1D26C21189DFE00931DFA /* SiteVisitStatsMapper.swift */; };
422-
74A1D26F21189EA100931DFA /* SiteVisitStatsRemote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A1D26E21189EA000931DFA /* SiteVisitStatsRemote.swift */; };
422+
74A1D26F21189EA100931DFA /* SiteStatsRemote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A1D26E21189EA000931DFA /* SiteStatsRemote.swift */; };
423423
74A7B4BC217A807400E85A8B /* SiteSettingsMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74A7B4BB217A807400E85A8B /* SiteSettingsMapperTests.swift */; };
424424
74A7B4BE217A841400E85A8B /* broken-settings-general.json in Resources */ = {isa = PBXBuildFile; fileRef = 74A7B4BD217A841400E85A8B /* broken-settings-general.json */; };
425425
74AB0ACA21948CE4008220CD /* CommentResultMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74AB0AC921948CE4008220CD /* CommentResultMapperTests.swift */; };
@@ -1119,7 +1119,7 @@
11191119
68FBC5B728928C8C00A05461 /* WooFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WooFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
11201120
69314EDE650855CAF927057E /* Pods_NetworkingTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NetworkingTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
11211121
74002D692118B26000A63C19 /* SiteVisitStatsMapperTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteVisitStatsMapperTests.swift; sourceTree = "<group>"; };
1122-
74002D6B2118B88200A63C19 /* SiteVisitStatsRemoteTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteVisitStatsRemoteTests.swift; sourceTree = "<group>"; };
1122+
74002D6B2118B88200A63C19 /* SiteStatsRemoteTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteStatsRemoteTests.swift; sourceTree = "<group>"; };
11231123
740211DE2193985A002248DA /* comment-moderate-spam.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "comment-moderate-spam.json"; sourceTree = "<group>"; };
11241124
740211E021939908002248DA /* CommentRemoteTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommentRemoteTests.swift; sourceTree = "<group>"; };
11251125
740211E221939C83002248DA /* CommentResultMapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommentResultMapper.swift; sourceTree = "<group>"; };
@@ -1169,7 +1169,7 @@
11691169
74A1D26721189A7000931DFA /* SiteVisitStats.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteVisitStats.swift; sourceTree = "<group>"; };
11701170
74A1D26A21189B8100931DFA /* SiteVisitStatsItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteVisitStatsItem.swift; sourceTree = "<group>"; };
11711171
74A1D26C21189DFE00931DFA /* SiteVisitStatsMapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteVisitStatsMapper.swift; sourceTree = "<group>"; };
1172-
74A1D26E21189EA000931DFA /* SiteVisitStatsRemote.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteVisitStatsRemote.swift; sourceTree = "<group>"; };
1172+
74A1D26E21189EA000931DFA /* SiteStatsRemote.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteStatsRemote.swift; sourceTree = "<group>"; };
11731173
74A7B4BB217A807400E85A8B /* SiteSettingsMapperTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SiteSettingsMapperTests.swift; sourceTree = "<group>"; };
11741174
74A7B4BD217A841400E85A8B /* broken-settings-general.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "broken-settings-general.json"; sourceTree = "<group>"; };
11751175
74AB0AC921948CE4008220CD /* CommentResultMapperTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommentResultMapperTests.swift; sourceTree = "<group>"; };
@@ -1730,7 +1730,7 @@
17301730
31D27C942602B737002EDB1D /* SitePluginsRemoteTests.swift */,
17311731
453305EE2459E46000264E50 /* SitePostsRemoteTests.swift */,
17321732
74D5BECD217E0F98007B0348 /* SiteSettingsRemoteTests.swift */,
1733-
74002D6B2118B88200A63C19 /* SiteVisitStatsRemoteTests.swift */,
1733+
74002D6B2118B88200A63C19 /* SiteStatsRemoteTests.swift */,
17341734
45ED4F13239E8F2E004F1BE3 /* TaxClassRemoteTests.swift */,
17351735
74CF5E8321402C04000CED0A /* TopEarnerStatsRemoteTests.swift */,
17361736
AE2D6622272A8F6E004A2C3A /* TelemetryRemoteTests.swift */,
@@ -1873,7 +1873,7 @@
18731873
7426CA0C21AF27B9004E9FFC /* SiteAPIRemote.swift */,
18741874
31D27C802602889C002EDB1D /* SitePluginsRemote.swift */,
18751875
74046E1A217A684D007DD7BF /* SiteSettingsRemote.swift */,
1876-
74A1D26E21189EA000931DFA /* SiteVisitStatsRemote.swift */,
1876+
74A1D26E21189EA000931DFA /* SiteStatsRemote.swift */,
18771877
4568E2212459ADC60007E478 /* SitePostsRemote.swift */,
18781878
4501068E2399B19500E24722 /* TaxClassRemote.swift */,
18791879
74ABA1D0213F22CA00FFAD30 /* TopEarnersStatsRemote.swift */,
@@ -3125,7 +3125,7 @@
31253125
7412A8EC21B6E286005D182A /* ReportOrderTotalsMapper.swift in Sources */,
31263126
451A97CD260A01A40059D135 /* ShippingLabelStoreOptions.swift in Sources */,
31273127
02C254A8256373AB00A04423 /* ShippingLabel.swift in Sources */,
3128-
74A1D26F21189EA100931DFA /* SiteVisitStatsRemote.swift in Sources */,
3128+
74A1D26F21189EA100931DFA /* SiteStatsRemote.swift in Sources */,
31293129
029BA4F4255D72EC006171FD /* ShippingLabelPrintData.swift in Sources */,
31303130
24F98C562502EA4800F49B68 /* FeatureFlag.swift in Sources */,
31313131
02AF07EA27492DBC00B2D81E /* WordPressMedia.swift in Sources */,
@@ -3442,7 +3442,7 @@
34423442
45152831257A8E1A0076B03C /* ProductAttributeMapperTests.swift in Sources */,
34433443
26B2F74924C55ACE0065CCC8 /* LeaderboardsRemoteTests.swift in Sources */,
34443444
45CCFCE827A2E5020012E8CB /* InboxNoteListMapperTests.swift in Sources */,
3445-
74002D6C2118B88200A63C19 /* SiteVisitStatsRemoteTests.swift in Sources */,
3445+
74002D6C2118B88200A63C19 /* SiteStatsRemoteTests.swift in Sources */,
34463446
0212683524C046CB00F8A892 /* MockNetwork+Path.swift in Sources */,
34473447
68BD37B328D9B8BD00C2A517 /* CustomerRemoteTests.swift in Sources */,
34483448
B554FA932180C17200C54DFF /* NoteHashListMapperTests.swift in Sources */,

Networking/Networking/Remote/SiteVisitStatsRemote.swift renamed to Networking/Networking/Remote/SiteStatsRemote.swift

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import Foundation
22

3-
/// SiteVisitStats: Remote Endpoints
3+
/// SiteStats: Remote Endpoints
44
///
5-
public class SiteVisitStatsRemote: Remote {
5+
public class SiteStatsRemote: Remote {
66

77
/// Fetch the visitor stats for a given site up to the current day, week, month, or year (depending on the given granularity of the `unit` parameter).
88
///
@@ -19,15 +19,15 @@ public class SiteVisitStatsRemote: Remote {
1919
latestDateToInclude: Date,
2020
quantity: Int,
2121
completion: @escaping (Result<SiteVisitStats, Error>) -> Void) {
22-
let path = "\(Constants.sitesPath)/\(siteID)/\(Constants.siteVisitStatsPath)/"
22+
let path = "\(Path.sites)/\(siteID)/\(Path.siteVisitStats)/"
2323
let dateFormatter = DateFormatter.Stats.statsDayFormatter
2424
if let siteTimezone = siteTimezone {
2525
dateFormatter.timeZone = siteTimezone
2626
}
2727
let parameters = [ParameterKeys.unit: unit.rawValue,
2828
ParameterKeys.date: dateFormatter.string(from: latestDateToInclude),
2929
ParameterKeys.quantity: String(quantity),
30-
ParameterKeys.statFields: Constants.visitorStatFieldValue]
30+
ParameterKeys.statFields: ParameterValues.visitors]
3131
let request = DotcomRequest(wordpressApiVersion: .mark1_1, method: .get, path: path, parameters: parameters)
3232
let mapper = SiteVisitStatsMapper(siteID: siteID)
3333
enqueue(request, mapper: mapper, completion: completion)
@@ -37,11 +37,10 @@ public class SiteVisitStatsRemote: Remote {
3737

3838
// MARK: - Constants!
3939
//
40-
private extension SiteVisitStatsRemote {
41-
enum Constants {
42-
static let sitesPath: String = "sites"
43-
static let siteVisitStatsPath: String = "stats/visits"
44-
static let visitorStatFieldValue: String = "visitors"
40+
private extension SiteStatsRemote {
41+
enum Path {
42+
static let sites: String = "sites"
43+
static let siteVisitStats: String = "stats/visits"
4544
}
4645

4746
enum ParameterKeys {
@@ -50,4 +49,8 @@ private extension SiteVisitStatsRemote {
5049
static let quantity: String = "quantity"
5150
static let statFields: String = "stat_fields"
5251
}
52+
53+
enum ParameterValues {
54+
static let visitors: String = "visitors"
55+
}
5356
}

Networking/NetworkingTests/Remote/SiteVisitStatsRemoteTests.swift renamed to Networking/NetworkingTests/Remote/SiteStatsRemoteTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import XCTest
22
@testable import Networking
33

44

5-
/// SiteVisitStatsRemote Unit Tests
5+
/// SiteStatsRemote Unit Tests
66
///
7-
class SiteVisitStatsRemoteTests: XCTestCase {
7+
class SiteStatsRemoteTests: XCTestCase {
88

99
/// Dummy Network Wrapper
1010
///
@@ -25,7 +25,7 @@ class SiteVisitStatsRemoteTests: XCTestCase {
2525
///
2626
func test_loadSiteVisitorStats_properly_returns_parsed_stats() throws {
2727
// Given
28-
let remote = SiteVisitStatsRemote(network: network)
28+
let remote = SiteStatsRemote(network: network)
2929
network.simulateResponse(requestUrlSuffix: "sites/\(sampleSiteID)/stats/visits/", filename: "site-visits-day")
3030

3131
// When
@@ -45,7 +45,7 @@ class SiteVisitStatsRemoteTests: XCTestCase {
4545
///
4646
func test_loadSiteVisitorStats_properly_relays_netwoking_errors() {
4747
// Given
48-
let remote = SiteVisitStatsRemote(network: network)
48+
let remote = SiteStatsRemote(network: network)
4949

5050
// When
5151
let result: Result<SiteVisitStats, Error> = waitFor { promise in

WooCommerce/StoreWidgets/StoreInfoDataService.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ final class StoreInfoDataService {
1919

2020
/// Visitors remoute source
2121
///
22-
private var siteVisitStatsRemote: SiteVisitStatsRemote
22+
private var siteVisitStatsRemote: SiteStatsRemote
2323

2424
/// Network helper.
2525
///
@@ -28,7 +28,7 @@ final class StoreInfoDataService {
2828
init(authToken: String) {
2929
network = AlamofireNetwork(credentials: Credentials(authToken: authToken))
3030
orderStatsRemoteV4 = OrderStatsRemoteV4(network: network)
31-
siteVisitStatsRemote = SiteVisitStatsRemote(network: network)
31+
siteVisitStatsRemote = SiteStatsRemote(network: network)
3232
}
3333

3434
/// Async function that fetches todays stats data.

Yosemite/Yosemite/Stores/StatsStoreV4.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ import WooFoundation
66
// MARK: - StatsStoreV4
77
//
88
public final class StatsStoreV4: Store {
9-
private let siteVisitStatsRemote: SiteVisitStatsRemote
9+
private let siteVisitStatsRemote: SiteStatsRemote
1010
private let leaderboardsRemote: LeaderboardsRemote
1111
private let orderStatsRemote: OrderStatsRemoteV4
1212
private let productsRemote: ProductsRemote
1313

1414
public override init(dispatcher: Dispatcher, storageManager: StorageManagerType, network: Network) {
15-
self.siteVisitStatsRemote = SiteVisitStatsRemote(network: network)
15+
self.siteVisitStatsRemote = SiteStatsRemote(network: network)
1616
self.leaderboardsRemote = LeaderboardsRemote(network: network)
1717
self.orderStatsRemote = OrderStatsRemoteV4(network: network)
1818
self.productsRemote = ProductsRemote(network: network)

docs/NETWORKING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ At the time of writing this document, these are the subclasses of `Remote`:
2525
* `ShipmentsRemote` All things Shipment Tracking, from tracking providers to actual tracking associated to an order
2626
* `SiteAPIRemote` Loads the API information associated to a site.
2727
* `SiteSettingsRemote` Loads a site’s settings
28-
* `SiteVisitStatsremote` fetches visitor stats for a given site
28+
* `SiteStatsremote` fetches Jetpack stats for a given site
2929
* `TaxClassesRemote` fetches tax classes for a given site.
3030
* `TopEarnersStatsRemote`fetches the top earner stats for a given site.
3131

0 commit comments

Comments
 (0)