Skip to content

Commit 0f5938e

Browse files
committed
Revert viewModel and tests to previous implementation
We decided to keep the previous implementation (show only the manuals that the store supports) rather than show all manuals for all stores. This commit reverts the changes and deals with the new Manual object being optional by using compactMap rather than map
1 parent 341eea6 commit 0f5938e

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/Settings/In-Person Payments/CardReaderManualsViewModel.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ struct Manual: Identifiable, Equatable {
99
}
1010

1111
final class CardReaderManualsViewModel {
12+
var configurationLoader: CardPresentConfigurationLoader
1213
let manuals: [Manual]
1314

1415
init() {
15-
// Display all card readers at all times. Ref: pdfdoF-1aF-p2
16-
self.manuals = CardReaderType.allCases.compactMap { $0.manual }
16+
// Initialize the ViewModel only with the supported readers for the specific store's country
17+
self.configurationLoader = CardPresentConfigurationLoader()
18+
let supportedReaders = configurationLoader.configuration.supportedReaders
19+
self.manuals = supportedReaders.compactMap { $0.manual }
1720
}
1821
}

WooCommerce/WooCommerceTests/ViewRelated/CardPresentPayments/CardReaderManualsViewModelTests.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ class CardReaderManualsViewModelTests: XCTestCase {
77
private var storageManager: MockStorageManager!
88
private var stores: MockStoresManager!
99
private let sampleSiteID: Int64 = 1234
10-
private let availableReaderTypes = [CardReaderType.chipper, CardReaderType.stripeM2, CardReaderType.wisepad3]
1110

1211
override func setUpWithError() throws {
1312
try super.setUpWithError()
@@ -33,7 +32,7 @@ class CardReaderManualsViewModelTests: XCTestCase {
3332
XCTAssertNotNil(viewModel)
3433
}
3534

36-
func test_viewModel_when_US_store_then_all_card_reader_manuals_are_available() {
35+
func test_viewModel_when_US_store_then_available_card_reader_manuals() {
3736
// Given
3837
let setting = SiteSetting.fake()
3938
.copy(
@@ -47,13 +46,14 @@ class CardReaderManualsViewModelTests: XCTestCase {
4746
let viewModel = CardReaderManualsViewModel()
4847

4948
// When
49+
let availableReaderTypes = [CardReaderType.chipper, CardReaderType.stripeM2]
5050
let expectedManuals = availableReaderTypes.map { $0.manual }
5151

5252
// Then
5353
XCTAssertEqual(viewModel.manuals, expectedManuals)
5454
}
5555

56-
func test_viewModel_when_CA_store_then_all_card_reader_manuals_are_available() {
56+
func test_viewModel_when_CA_store_then_available_card_reader_manuals() {
5757
// Given
5858
let setting = SiteSetting.fake()
5959
.copy(
@@ -67,13 +67,14 @@ class CardReaderManualsViewModelTests: XCTestCase {
6767
let viewModel = CardReaderManualsViewModel()
6868

6969
// When:
70+
let availableReaderTypes = [CardReaderType.wisepad3]
7071
let expectedManuals = availableReaderTypes.map { $0.manual }
7172

7273
// Then
7374
XCTAssertEqual(viewModel.manuals, expectedManuals)
7475
}
7576

76-
func test_viewModel_when_IPP_not_available_country_then_all_card_reader_manuals_are_available() {
77+
func test_viewModel_when_IPP_not_available_country_then_available_card_reader_manuals_is_empty() {
7778
// Given
7879
let setting = SiteSetting.fake()
7980
.copy(
@@ -86,6 +87,7 @@ class CardReaderManualsViewModelTests: XCTestCase {
8687
let viewModel = CardReaderManualsViewModel.init()
8788

8889
// When
90+
let availableReaderTypes: [CardReaderType] = []
8991
let expectedManuals = availableReaderTypes.map { $0.manual }
9092

9193
// Then

0 commit comments

Comments
 (0)