@@ -26,6 +26,9 @@ final class AnalyticsHubViewModelTests: XCTestCase {
2626 case let . retrieveTopEarnerStats( _, _, _, _, _, _, _, completion) :
2727 let topEarners = TopEarnerStats . fake ( ) . copy ( items: [ . fake( ) ] )
2828 completion ( . success( topEarners) )
29+ case let . retrieveSiteSummaryStats( _, _, _, _, completion) :
30+ let siteStats = SiteSummaryStats . fake ( ) . copy ( visitors: 30 , views: 53 )
31+ completion ( . success( siteStats) )
2932 default :
3033 break
3134 }
@@ -39,12 +42,14 @@ final class AnalyticsHubViewModelTests: XCTestCase {
3942 XCTAssertFalse ( vm. ordersCard. isRedacted)
4043 XCTAssertFalse ( vm. productsStatsCard. isRedacted)
4144 XCTAssertFalse ( vm. itemsSoldCard. isRedacted)
45+ XCTAssertFalse ( vm. sessionsCard. isRedacted)
4246
4347 XCTAssertEqual ( vm. revenueCard. leadingValue, " $62 " )
4448 XCTAssertEqual ( vm. ordersCard. leadingValue, " 15 " )
4549 XCTAssertEqual ( vm. productsStatsCard. itemsSold, " 5 " )
46-
4750 XCTAssertEqual ( vm. itemsSoldCard. itemsSoldData. count, 1 )
51+ XCTAssertEqual ( vm. sessionsCard. leadingValue, " 53 " )
52+ XCTAssertEqual ( vm. sessionsCard. trailingValue, " 50% " )
4853 }
4954
5055 func test_cards_viewmodels_show_sync_error_after_getting_error_from_network( ) async {
@@ -56,6 +61,8 @@ final class AnalyticsHubViewModelTests: XCTestCase {
5661 completion ( . failure( NSError ( domain: " Test " , code: 1 ) ) )
5762 case let . retrieveTopEarnerStats( _, _, _, _, _, _, _, completion) :
5863 completion ( . failure( NSError ( domain: " Test " , code: 1 ) ) )
64+ case let . retrieveSiteSummaryStats( _, _, _, _, completion) :
65+ completion ( . failure( NSError ( domain: " Test " , code: 1 ) ) )
5966 default :
6067 break
6168 }
@@ -69,6 +76,7 @@ final class AnalyticsHubViewModelTests: XCTestCase {
6976 XCTAssertTrue ( vm. ordersCard. showSyncError)
7077 XCTAssertTrue ( vm. productsStatsCard. showStatsError)
7178 XCTAssertTrue ( vm. itemsSoldCard. showItemsSoldError)
79+ XCTAssertTrue ( vm. sessionsCard. showSyncError)
7280 }
7381
7482 func test_cards_viewmodels_redacted_while_updating_from_network( ) async {
@@ -78,6 +86,7 @@ final class AnalyticsHubViewModelTests: XCTestCase {
7886 var loadingOrdersCard : AnalyticsReportCardViewModel ?
7987 var loadingProductsCard : AnalyticsProductsStatsCardViewModel ?
8088 var loadingItemsSoldCard : AnalyticsItemsSoldViewModel ?
89+ var loadingSessionsCard : AnalyticsReportCardCurrentPeriodViewModel ?
8190 stores. whenReceivingAction ( ofType: StatsActionV4 . self) { action in
8291 switch action {
8392 case let . retrieveCustomStats( _, _, _, _, _, _, completion) :
@@ -90,6 +99,9 @@ final class AnalyticsHubViewModelTests: XCTestCase {
9099 case let . retrieveTopEarnerStats( _, _, _, _, _, _, _, completion) :
91100 let topEarners = TopEarnerStats . fake ( ) . copy ( items: [ . fake( ) ] )
92101 completion ( . success( topEarners) )
102+ case let . retrieveSiteSummaryStats( _, _, _, _, completion) :
103+ let siteStats = SiteSummaryStats . fake ( )
104+ completion ( . success( siteStats) )
93105 default :
94106 break
95107 }
@@ -103,5 +115,6 @@ final class AnalyticsHubViewModelTests: XCTestCase {
103115 XCTAssertEqual ( loadingOrdersCard? . isRedacted, true )
104116 XCTAssertEqual ( loadingProductsCard? . isRedacted, true )
105117 XCTAssertEqual ( loadingItemsSoldCard? . isRedacted, true )
118+ XCTAssertEqual ( loadingSessionsCard? . isRedacted, true )
106119 }
107120}
0 commit comments