Skip to content

Commit e0e0c81

Browse files
committed
Add tests for unknown version and battery level
1 parent 61182b0 commit e0e0c81

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

WooCommerce/WooCommerceTests/Mocks/MockCardReader.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,14 @@ struct MockCardReader {
1010
batteryLevel: 0.5,
1111
readerType: .mobile)
1212
}
13+
14+
static func bbposChipper2XBTNoVerNoBatt() -> CardReader {
15+
CardReader(serial: "WPE-SIMULATOR-1",
16+
vendorIdentifier: "SIMULATOR",
17+
name: "Simulated POS E",
18+
status: .init(connected: false, remembered: false),
19+
softwareVersion: nil,
20+
batteryLevel: nil,
21+
readerType: .mobile)
22+
}
1323
}

WooCommerce/WooCommerceTests/ViewRelated/Dashboard/CardReaderSettings/CardReaderSettingsConnectedViewModelTests.swift

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,18 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
5151
XCTAssertEqual(viewModel.connectedReaderBatteryLevel, "50% Battery")
5252
}
5353

54+
func test_view_model_correctly_formats_connected_card_reader_battery_level_when_nil() {
55+
let mockStoresManager = MockCardPresentPaymentsStoresManager(
56+
connectedReaders: [MockCardReader.bbposChipper2XBTNoVerNoBatt()],
57+
discoveredReaders: [],
58+
sessionManager: SessionManager.testingInstance
59+
)
60+
ServiceLocator.setStores(mockStoresManager)
61+
62+
let viewModel = CardReaderSettingsConnectedViewModel(didChangeShouldShow: nil)
63+
XCTAssertEqual(viewModel.connectedReaderBatteryLevel, "Unknown Battery Level")
64+
}
65+
5466
func test_view_model_correctly_formats_connected_card_reader_software_version() {
5567
let mockStoresManager = MockCardPresentPaymentsStoresManager(
5668
connectedReaders: [MockCardReader.bbposChipper2XBT()],
@@ -63,6 +75,18 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
6375
XCTAssertEqual(viewModel.connectedReaderSoftwareVersion, "Version: 1.00.03.34-SZZZ_Generic_v45-300001")
6476
}
6577

78+
func test_view_model_correctly_formats_connected_card_reader_software_version_when_nil() {
79+
let mockStoresManager = MockCardPresentPaymentsStoresManager(
80+
connectedReaders: [MockCardReader.bbposChipper2XBTNoVerNoBatt()],
81+
discoveredReaders: [],
82+
sessionManager: SessionManager.testingInstance
83+
)
84+
ServiceLocator.setStores(mockStoresManager)
85+
86+
let viewModel = CardReaderSettingsConnectedViewModel(didChangeShouldShow: nil)
87+
XCTAssertEqual(viewModel.connectedReaderSoftwareVersion, "Unknown Software Version")
88+
}
89+
6690
func test_checkForCardReaderUpdate_properly_handles_update_available() {
6791
// Given
6892
let expectation = self.expectation(description: #function)

0 commit comments

Comments
 (0)