1-
21import Testing
32import Foundation
43@testable import WooCommerce
@@ -9,11 +8,13 @@ import Storage
98struct PointOfSaleSettingsControllerTests {
109 private let mockSettingsService = MockPointOfSaleSettingsService ( )
1110 private let mockStorageManager = MockStorageManager ( )
11+ private let mockCardPresentPaymentService = MockCardPresentPaymentService ( )
1212
1313 @Test func storeName_when_defaultSiteName_provided_then_returns_defaultSiteName( ) async throws {
1414 // Given
1515 let expectedStoreName = " My Test Store "
1616 let sut = PointOfSaleSettingsController ( settingsService: mockSettingsService,
17+ cardPresentPaymentService: mockCardPresentPaymentService,
1718 defaultSiteName: expectedStoreName,
1819 siteSettings: [ ] )
1920
@@ -27,6 +28,7 @@ struct PointOfSaleSettingsControllerTests {
2728 @Test func storeName_when_defaultSiteName_nil_then_returns_notSet( ) async throws {
2829 // Given
2930 let sut = PointOfSaleSettingsController ( settingsService: mockSettingsService,
31+ cardPresentPaymentService: mockCardPresentPaymentService,
3032 defaultSiteName: nil ,
3133 siteSettings: [ ] )
3234
@@ -41,6 +43,7 @@ struct PointOfSaleSettingsControllerTests {
4143 // Given
4244 let siteSettings = makeSampleSiteSettings ( )
4345 let sut = PointOfSaleSettingsController ( settingsService: mockSettingsService,
46+ cardPresentPaymentService: mockCardPresentPaymentService,
4447 defaultSiteName: " Test Store " ,
4548 siteSettings: siteSettings)
4649
@@ -54,6 +57,7 @@ struct PointOfSaleSettingsControllerTests {
5457 @Test func connectedCardReader_initially_nil( ) async throws {
5558 // Given
5659 let sut = PointOfSaleSettingsController ( settingsService: mockSettingsService,
60+ cardPresentPaymentService: mockCardPresentPaymentService,
5761 defaultSiteName: " Test Store " ,
5862 siteSettings: [ ] )
5963
@@ -64,35 +68,26 @@ struct PointOfSaleSettingsControllerTests {
6468 #expect( cardReader == nil )
6569 }
6670
67- @Test func updateCardReader_sets_connectedCardReader ( ) async throws {
71+ @Test func cardReader_observation_updates_connectedCardReader ( ) async throws {
6872 // Given
73+ let mockService = MockCardPresentPaymentService ( )
6974 let sut = PointOfSaleSettingsController ( settingsService: mockSettingsService,
75+ cardPresentPaymentService: mockService,
7076 defaultSiteName: " Test Store " ,
7177 siteSettings: [ ] )
72- let cardReader = CardPresentPaymentCardReader ( name: " WisePad 3 " , batteryLevel: 0.85 )
78+
79+ // Initially nil
80+ #expect( sut. connectedCardReader == nil )
7381
7482 // When
75- sut. updateCardReader ( cardReader)
83+ let cardReader = CardPresentPaymentCardReader ( name: " WisePad 3 " , batteryLevel: 0.75 )
84+ mockService. connectedReader = cardReader
7685
7786 // Then
7887 #expect( sut. connectedCardReader? . name == " WisePad 3 " )
79- #expect( sut. connectedCardReader? . batteryLevel == 0.85 )
88+ #expect( sut. connectedCardReader? . batteryLevel == 0.75 )
8089 }
8190
82- @Test func updateCardReader_with_nil_clears_connectedCardReader( ) async throws {
83- // Given
84- let sut = PointOfSaleSettingsController ( settingsService: mockSettingsService,
85- defaultSiteName: " Test Store " ,
86- siteSettings: [ ] )
87- let cardReader = CardPresentPaymentCardReader ( name: " WisePad 3 " , batteryLevel: 0.85 )
88- sut. updateCardReader ( cardReader)
89-
90- // When
91- sut. updateCardReader ( nil )
92-
93- // Then
94- #expect( sut. connectedCardReader == nil )
95- }
9691
9792 private func makeSampleSiteSettings( ) -> [ Yosemite . SiteSetting ] {
9893 return [
@@ -154,7 +149,4 @@ final class MockPointOfSaleSettingsController: PointOfSaleSettingsControllerProt
154149 // no-op
155150 }
156151
157- func updateCardReader( _ cardReader: CardPresentPaymentCardReader ? ) {
158- // no-op
159- }
160152}
0 commit comments