Skip to content

Commit 6f5e548

Browse files
committed
Rename PointOfSaleOrders to PointOfSaleOrderList
1 parent acbb185 commit 6f5e548

27 files changed

+208
-207
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import Foundation
2+
import struct NetworkingCore.PagedItems
3+
4+
public protocol PointOfSaleOrderListFetchStrategy {
5+
func fetchOrders(pageNumber: Int) async throws -> PagedItems<POSOrder>
6+
}
7+
8+
struct PointOfSaleDefaultOrderListFetchStrategy: PointOfSaleOrderListFetchStrategy {
9+
private let orderListService: PointOfSaleOrderListServiceProtocol
10+
11+
init(orderListService: PointOfSaleOrderListServiceProtocol) {
12+
self.orderListService = orderListService
13+
}
14+
15+
func fetchOrders(pageNumber: Int) async throws -> PagedItems<POSOrder> {
16+
try await orderListService.providePointOfSaleOrders(pageNumber: pageNumber)
17+
}
18+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import Foundation
2+
import class Networking.AlamofireNetwork
3+
import class Networking.OrdersRemote
4+
5+
public protocol PointOfSaleOrderListFetchStrategyFactoryProtocol {
6+
func defaultStrategy() -> PointOfSaleOrderListFetchStrategy
7+
}
8+
9+
public final class PointOfSaleOrderListFetchStrategyFactory: PointOfSaleOrderListFetchStrategyFactoryProtocol {
10+
private let siteID: Int64
11+
private let ordersRemote: OrdersRemote
12+
13+
public init(siteID: Int64,
14+
credentials: Credentials?) {
15+
self.siteID = siteID
16+
let network = AlamofireNetwork(credentials: credentials)
17+
self.ordersRemote = OrdersRemote(network: network)
18+
}
19+
20+
public func defaultStrategy() -> PointOfSaleOrderListFetchStrategy {
21+
PointOfSaleDefaultOrderListFetchStrategy(orderListService: PointOfSaleOrderListService(siteID: siteID,
22+
ordersRemote: ordersRemote))
23+
}
24+
}

Modules/Sources/Yosemite/PointOfSale/Orders/PointOfSaleOrderService.swift renamed to Modules/Sources/Yosemite/PointOfSale/OrderList/PointOfSaleOrderListService.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import struct NetworkingCore.PagedItems
44
import struct NetworkingCore.Order
55
import protocol NetworkingCore.POSOrdersRemoteProtocol
66

7-
public final class PointOfSaleOrderService: PointOfSaleOrderServiceProtocol {
7+
public final class PointOfSaleOrderListService: PointOfSaleOrderListServiceProtocol {
88
private let ordersRemote: POSOrdersRemoteProtocol
99
private let siteID: Int64
1010

@@ -32,9 +32,9 @@ public final class PointOfSaleOrderService: PointOfSaleOrderServiceProtocol {
3232
hasMorePages: pagedOrders.hasMorePages,
3333
totalItems: pagedOrders.totalItems)
3434
} catch AFError.explicitlyCancelled {
35-
throw PointOfSaleOrderServiceError.requestCancelled
35+
throw PointOfSaleOrderListServiceError.requestCancelled
3636
} catch {
37-
throw PointOfSaleOrderServiceError.requestFailed
37+
throw PointOfSaleOrderListServiceError.requestFailed
3838
}
3939
}
4040
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import Foundation
22
import struct NetworkingCore.PagedItems
33

4-
public enum PointOfSaleOrderServiceError: Error, Equatable {
4+
public enum PointOfSaleOrderListServiceError: Error, Equatable {
55
case requestFailed
66
case requestCancelled
77
}
88

9-
public protocol PointOfSaleOrderServiceProtocol {
9+
public protocol PointOfSaleOrderListServiceProtocol {
1010
func providePointOfSaleOrders(pageNumber: Int) async throws -> PagedItems<POSOrder>
1111
}

Modules/Sources/Yosemite/PointOfSale/Orders/PointOfSaleOrderFetchStrategy.swift

Lines changed: 0 additions & 18 deletions
This file was deleted.

Modules/Sources/Yosemite/PointOfSale/Orders/PointOfSaleOrderFetchStrategyFactory.swift

Lines changed: 0 additions & 23 deletions
This file was deleted.

Modules/Tests/YosemiteTests/PointOfSale/PointOfSaleOrderServiceTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ import enum NetworkingCore.OrderStatusEnum
66

77
final class PointOfSaleOrderServiceTests: XCTestCase {
88
private let siteID: Int64 = 13092
9-
private var orderProvider: PointOfSaleOrderServiceProtocol!
9+
private var orderProvider: PointOfSaleOrderListServiceProtocol!
1010
private var mockOrdersRemote: MockPOSOrdersRemote!
1111

1212
override func setUp() {
1313
super.setUp()
1414
mockOrdersRemote = MockPOSOrdersRemote()
15-
orderProvider = PointOfSaleOrderService(siteID: siteID, ordersRemote: mockOrdersRemote)
15+
orderProvider = PointOfSaleOrderListService(siteID: siteID, ordersRemote: mockOrdersRemote)
1616
}
1717

1818
override func tearDown() {
@@ -22,14 +22,14 @@ final class PointOfSaleOrderServiceTests: XCTestCase {
2222
}
2323

2424
func test_PointOfSaleOrderServiceProtocol_when_fails_request_with_requestFailed_then_throws_error() async throws {
25-
let expectedError = PointOfSaleOrderServiceError.requestFailed
25+
let expectedError = PointOfSaleOrderListServiceError.requestFailed
2626
mockOrdersRemote.mockPagedOrdersResult = .failure(expectedError)
2727

2828
do {
2929
_ = try await orderProvider.providePointOfSaleOrders(pageNumber: 1)
3030
XCTFail("Expected an error, but got success.")
3131
} catch {
32-
XCTAssertEqual(error as? PointOfSaleOrderServiceError, expectedError)
32+
XCTAssertEqual(error as? PointOfSaleOrderListServiceError, expectedError)
3333
}
3434
}
3535

@@ -106,7 +106,7 @@ final class PointOfSaleOrderServiceTests: XCTestCase {
106106
do {
107107
_ = try await orderProvider.providePointOfSaleOrders(pageNumber: 1)
108108
XCTFail("Expected error to be thrown")
109-
} catch PointOfSaleOrderServiceError.requestFailed {
109+
} catch PointOfSaleOrderListServiceError.requestFailed {
110110
// Expected
111111
} catch {
112112
XCTFail("Unexpected error occurred: \(error)")

0 commit comments

Comments
 (0)