@@ -3,8 +3,27 @@ import XCTest
33@testable import WooCommerce
44
55final class CardReaderSettingsConnectedViewModelTests : XCTestCase {
6+ private var mockStoresManager : MockCardPresentPaymentsStoresManager !
7+ private var analytics : MockAnalyticsProvider !
8+
9+ private var viewModel : CardReaderSettingsConnectedViewModel !
10+
11+ override func setUpWithError( ) throws {
12+ mockStoresManager = MockCardPresentPaymentsStoresManager (
13+ connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
14+ discoveredReaders: [ ] ,
15+ sessionManager: SessionManager . testingInstance
16+ )
17+ ServiceLocator . setStores ( mockStoresManager)
18+
19+ analytics = MockAnalyticsProvider ( )
20+ ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
21+
22+ viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
23+ }
24+
625 func test_did_change_should_show_returns_false_if_no_connected_readers( ) {
7- let mockStoresManager = MockCardPresentPaymentsStoresManager (
26+ mockStoresManager = MockCardPresentPaymentsStoresManager (
827 connectedReaders: [ ] ,
928 discoveredReaders: [ ] ,
1029 sessionManager: SessionManager . testingInstance
@@ -21,16 +40,9 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
2140 }
2241
2342 func test_did_change_should_show_returns_true_if_a_reader_is_connected( ) {
24- let mockStoresManager = MockCardPresentPaymentsStoresManager (
25- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
26- discoveredReaders: [ ] ,
27- sessionManager: SessionManager . testingInstance
28- )
29- ServiceLocator . setStores ( mockStoresManager)
30-
3143 let expectation = self . expectation ( description: #function)
3244
33- let _ = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: { shouldShow in
45+ viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: { shouldShow in
3446 XCTAssertTrue ( shouldShow == . isTrue)
3547 expectation. fulfill ( )
3648 } )
@@ -39,14 +51,7 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
3951 }
4052
4153 func test_view_model_correctly_formats_connected_card_reader_battery_level( ) {
42- let mockStoresManager = MockCardPresentPaymentsStoresManager (
43- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
44- discoveredReaders: [ ] ,
45- sessionManager: SessionManager . testingInstance
46- )
47- ServiceLocator . setStores ( mockStoresManager)
48-
49- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
54+ viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
5055 XCTAssertEqual ( viewModel. connectedReaderBatteryLevel, " 50% Battery " )
5156 }
5257
@@ -58,18 +63,11 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
5863 )
5964 ServiceLocator . setStores ( mockStoresManager)
6065
61- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
66+ viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
6267 XCTAssertEqual ( viewModel. connectedReaderBatteryLevel, " Unknown Battery Level " )
6368 }
6469
6570 func test_view_model_correctly_formats_connected_card_reader_software_version( ) {
66- let mockStoresManager = MockCardPresentPaymentsStoresManager (
67- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
68- discoveredReaders: [ ] ,
69- sessionManager: SessionManager . testingInstance
70- )
71- ServiceLocator . setStores ( mockStoresManager)
72-
7371 let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
7472 XCTAssertEqual ( viewModel. connectedReaderSoftwareVersion, " Version: 1.00.03.34-SZZZ_Generic_v45-300001 " )
7573 }
@@ -82,34 +80,25 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
8280 )
8381 ServiceLocator . setStores ( mockStoresManager)
8482
85- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
83+ viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
8684 XCTAssertEqual ( viewModel. connectedReaderSoftwareVersion, " Unknown Software Version " )
8785 }
8886
8987 func test_startCardReaderUpdate_properly_handles_successful_update( ) {
9088 // Given
9189 let expectation = self . expectation ( description: #function)
9290
93- let mockStoresManager = MockCardPresentPaymentsStoresManager (
94- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
95- discoveredReaders: [ ] ,
96- sessionManager: SessionManager . testingInstance
97- )
98- ServiceLocator . setStores ( mockStoresManager)
99-
100- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
101-
10291 var updateDidBegin = false
10392
10493 viewModel. didUpdate = {
105- if viewModel. readerUpdateInProgress {
94+ if self . viewModel. readerUpdateInProgress {
10695 updateDidBegin = true
10796 }
10897
10998 // Update began
11099 if updateDidBegin {
111100 // But now it has stopped
112- if !viewModel. readerUpdateInProgress {
101+ if !self . viewModel. readerUpdateInProgress {
113102 expectation. fulfill ( )
114103 }
115104 }
@@ -135,19 +124,19 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
135124 )
136125 ServiceLocator . setStores ( mockStoresManager)
137126
138- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
127+ viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
139128
140129 var updateDidBegin = false
141130
142131 viewModel. didUpdate = {
143- if viewModel. readerUpdateInProgress {
132+ if self . viewModel. readerUpdateInProgress {
144133 updateDidBegin = true
145134 }
146135
147136 // Update began
148137 if updateDidBegin {
149138 // But now it has stopped
150- if !viewModel. readerUpdateInProgress {
139+ if !self . viewModel. readerUpdateInProgress {
151140 expectation. fulfill ( )
152141 }
153142 }
@@ -162,16 +151,6 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
162151
163152 func test_startCardReaderUpdate_ViewModel_LogsTracksEvent_cardReaderSoftwareUpdateTapped( ) {
164153 // Given
165- let mockStoresManager = MockCardPresentPaymentsStoresManager (
166- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
167- discoveredReaders: [ ] ,
168- sessionManager: SessionManager . testingInstance
169- )
170- ServiceLocator . setStores ( mockStoresManager)
171-
172- let analytics = MockAnalyticsProvider ( )
173- ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
174- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
175154
176155 // When
177156 viewModel. startCardReaderUpdate ( )
@@ -182,16 +161,6 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
182161
183162 func test_startCardReaderUpdate_ViewModel_LogsTracksEvent_cardReaderSoftwareUpdateStarted( ) {
184163 // Given
185- let mockStoresManager = MockCardPresentPaymentsStoresManager (
186- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
187- discoveredReaders: [ ] ,
188- sessionManager: SessionManager . testingInstance
189- )
190- ServiceLocator . setStores ( mockStoresManager)
191-
192- let analytics = MockAnalyticsProvider ( )
193- ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
194- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
195164
196165 // When
197166 mockStoresManager. simulateUpdateStarted ( )
@@ -202,16 +171,6 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
202171
203172 func test_WhenStoreSendsUpdateComplete_ViewModel_LogsTracksEvent_cardReaderSoftwareUpdateSuccess( ) {
204173 // Given
205- let mockStoresManager = MockCardPresentPaymentsStoresManager (
206- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
207- discoveredReaders: [ ] ,
208- sessionManager: SessionManager . testingInstance
209- )
210- ServiceLocator . setStores ( mockStoresManager)
211-
212- let analytics = MockAnalyticsProvider ( )
213- ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
214- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
215174
216175 // When
217176 mockStoresManager. simulateSuccessfulUpdate ( )
@@ -222,16 +181,6 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
222181
223182 func test_WhenStoreSendsUpdateFailed_ViewModel_LogsTracksEvent_cardReaderSoftwareUpdateFailed( ) {
224183 // Given
225- let mockStoresManager = MockCardPresentPaymentsStoresManager (
226- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
227- discoveredReaders: [ ] ,
228- sessionManager: SessionManager . testingInstance
229- )
230- ServiceLocator . setStores ( mockStoresManager)
231-
232- let analytics = MockAnalyticsProvider ( )
233- ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
234- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
235184
236185 // When
237186 let expectedError = CardReaderServiceError . softwareUpdate ( underlyingError: . readerSoftwareUpdateFailedBatteryLow,
@@ -244,16 +193,6 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
244193
245194 func test_WhenUserCancelsUpdate_ViewModel_LogsTracksEvent_cardReaderSoftwareUpdateCancelTapped( ) {
246195 // Given
247- let mockStoresManager = MockCardPresentPaymentsStoresManager (
248- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
249- discoveredReaders: [ ] ,
250- sessionManager: SessionManager . testingInstance
251- )
252- ServiceLocator . setStores ( mockStoresManager)
253-
254- let analytics = MockAnalyticsProvider ( )
255- ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
256- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
257196
258197 // When
259198 viewModel. cancelCardReaderUpdate ( )
@@ -264,16 +203,6 @@ final class CardReaderSettingsConnectedViewModelTests: XCTestCase {
264203
265204 func test_WhenUpdateIsSuccessfullyCanceled_ViewModel_LogsTracksEvent_cardReaderSoftwareUpdateCanceled( ) {
266205 // Given
267- let mockStoresManager = MockCardPresentPaymentsStoresManager (
268- connectedReaders: [ MockCardReader . bbposChipper2XBT ( ) ] ,
269- discoveredReaders: [ ] ,
270- sessionManager: SessionManager . testingInstance
271- )
272- ServiceLocator . setStores ( mockStoresManager)
273-
274- let analytics = MockAnalyticsProvider ( )
275- ServiceLocator . setAnalytics ( WooAnalytics ( analyticsProvider: analytics) )
276- let viewModel = CardReaderSettingsConnectedViewModel ( didChangeShouldShow: nil )
277206 let expectation = self . expectation ( description: #function)
278207
279208 mockStoresManager. simulateCancelableUpdate {
0 commit comments