@@ -8,6 +8,8 @@ import protocol Storage.StorageType
88
99@testable import WooCommerce
1010
11+ private typealias CellViewModel = OrderSearchStarterViewModel . CellViewModel
12+
1113/// Tests for `OrderSearchStarterViewModel`
1214///
1315final class OrderSearchStarterViewModelTests : XCTestCase {
@@ -46,9 +48,8 @@ final class OrderSearchStarterViewModelTests: XCTestCase {
4648
4749 // Then
4850 XCTAssertEqual ( viewModel. numberOfObjects, expectedItems. count)
49- XCTAssertEqual ( viewModel. fetchedOrderStatuses, expectedItems)
50- XCTAssertFalse ( viewModel. fetchedOrderStatuses. contains ( where: { $0. siteID != siteID } ) )
51- XCTAssertFalse ( viewModel. fetchedOrderStatuses. contains ( unexpectedItem) )
51+ XCTAssertEqual ( viewModel. cellViewModels. slugs, expectedItems. slugs)
52+ XCTAssertFalse ( viewModel. cellViewModels. contains ( where: { $0. slug == unexpectedItem. slug } ) )
5253 }
5354
5455 func testItSortsTheOrderStatusesBySlug( ) {
@@ -66,8 +67,7 @@ final class OrderSearchStarterViewModelTests: XCTestCase {
6667
6768 // Then
6869 let expectedSlugs = [ " alpha " , " beta " , " charlie " , " delta " , " echo " ]
69- let actualSlugs = viewModel. fetchedOrderStatuses. map ( \. slug)
70- XCTAssertEqual ( actualSlugs, expectedSlugs)
70+ XCTAssertEqual ( viewModel. cellViewModels. slugs, expectedSlugs)
7171 }
7272
7373 func testItReturnsTheNameSlugAndTotalInTheCellViewModel( ) {
@@ -109,10 +109,22 @@ final class OrderSearchStarterViewModelTests: XCTestCase {
109109// MARK: - Helpers
110110
111111private extension OrderSearchStarterViewModel {
112- /// Returns the `OrderStatus` for all the rows
112+ /// Returns all the `CellViewModel` based on the fetched `OrderStatus`.
113113 ///
114- var fetchedOrderStatuses : [ OrderStatus ] {
115- ( 0 ..< numberOfObjects) . map { orderStatus ( at: IndexPath ( row: $0, section: 0 ) ) }
114+ var cellViewModels : [ CellViewModel ] {
115+ ( 0 ..< numberOfObjects) . map { cellViewModel ( at: IndexPath ( row: $0, section: 0 ) ) }
116+ }
117+ }
118+
119+ private extension Array where Element == OrderStatus {
120+ var slugs : [ String ] {
121+ map ( \. slug)
122+ }
123+ }
124+
125+ private extension Array where Element == CellViewModel {
126+ var slugs : [ String ] {
127+ map ( \. slug)
116128 }
117129}
118130
0 commit comments