@@ -164,7 +164,7 @@ class NewOrderViewModelTests: XCTestCase {
164164 XCTAssertTrue ( viewModel. productRows. contains ( where: { $0. productOrVariationID == sampleProductID } ) , " Product rows do not contain expected product " )
165165 }
166166
167- func test_order_details_are_updated_when_product_quantity_changes( ) throws {
167+ func test_order_details_are_updated_when_product_quantity_changes( ) {
168168 // Given
169169 let product = Product . fake ( ) . copy ( siteID: sampleSiteID, productID: sampleProductID, purchasable: true )
170170 let storageManager = MockStorageManager ( )
@@ -184,8 +184,6 @@ class NewOrderViewModelTests: XCTestCase {
184184 }
185185
186186 func test_selectOrderItem_selects_expected_order_item( ) throws {
187- throw XCTSkip ( " Test disabled while we enable select order support on OrderSynchronizer " )
188-
189187 // Given
190188 let product = Product . fake ( ) . copy ( siteID: sampleSiteID, productID: sampleProductID, purchasable: true )
191189 let storageManager = MockStorageManager ( )
@@ -194,14 +192,15 @@ class NewOrderViewModelTests: XCTestCase {
194192 viewModel. addProductViewModel. selectProduct ( product. productID)
195193
196194 // When
197- let expectedOrderItem = viewModel. orderDetails . items [ 0 ]
198- viewModel. selectOrderItem ( expectedOrderItem . id)
195+ let expectedRow = viewModel. productRows [ 0 ]
196+ viewModel. selectOrderItem ( expectedRow . id)
199197
200198 // Then
201- XCTAssertEqual ( viewModel. selectedOrderItem, expectedOrderItem)
199+ XCTAssertNotNil ( viewModel. selectedProductViewModel)
200+ XCTAssertEqual ( viewModel. selectedProductViewModel? . productRowViewModel. id, expectedRow. id)
202201 }
203202
204- func test_view_model_is_updated_when_product_is_removed_from_order( ) throws {
203+ func test_view_model_is_updated_when_product_is_removed_from_order( ) {
205204 // Given
206205 let product0 = Product . fake ( ) . copy ( siteID: sampleSiteID, productID: 0 , purchasable: true )
207206 let product1 = Product . fake ( ) . copy ( siteID: sampleSiteID, productID: 1 , purchasable: true )
@@ -214,13 +213,13 @@ class NewOrderViewModelTests: XCTestCase {
214213 viewModel. addProductViewModel. selectProduct ( product1. productID)
215214
216215 // When
217- throw XCTSkip ( " Test disabled while we enable remove item support on OrderSynchronizer " )
218- let expectedRemainingItem = viewModel . orderDetails . items [ 1 ]
219- viewModel. removeItemFromOrder ( viewModel . orderDetails . items [ 0 ] )
216+ let expectedRemainingRow = viewModel . productRows [ 1 ]
217+ let itemToRemove = OrderItem . fake ( ) . copy ( itemID : viewModel . productRows [ 0 ] . id )
218+ viewModel. removeItemFromOrder ( itemToRemove )
220219
221220 // Then
222221 XCTAssertFalse ( viewModel. productRows. contains ( where: { $0. productOrVariationID == product0. productID } ) )
223- XCTAssertEqual ( viewModel. orderDetails . items , [ expectedRemainingItem ] )
222+ XCTAssertEqual ( viewModel. productRows . map { $0 . id } , [ expectedRemainingRow ] . map { $0 . id } )
224223 }
225224
226225 func test_createProductRowViewModel_creates_expected_row_for_product( ) {
@@ -321,7 +320,7 @@ class NewOrderViewModelTests: XCTestCase {
321320 XCTAssertEqual ( paymentDataViewModel. orderTotal, " £30.00 " )
322321 }
323322
324- func test_payment_section_only_displayed_when_order_has_products( ) throws {
323+ func test_payment_section_only_displayed_when_order_has_products( ) {
325324 // Given
326325 let product = Product . fake ( ) . copy ( siteID: sampleSiteID, productID: sampleProductID, purchasable: true )
327326 let storageManager = MockStorageManager ( )
@@ -333,12 +332,13 @@ class NewOrderViewModelTests: XCTestCase {
333332 XCTAssertTrue ( viewModel. shouldShowPaymentSection)
334333
335334 // When & Then
336- throw XCTSkip ( " This unit test needs to be reenabled when the remove item method is migrated " )
337- viewModel. removeItemFromOrder ( viewModel. orderDetails. items [ 0 ] )
335+ let itemToRemove = OrderItem . fake ( ) . copy ( itemID: viewModel. productRows [ 0 ] . id, productID: product. productID)
336+ viewModel. removeItemFromOrder ( itemToRemove)
337+
338338 XCTAssertFalse ( viewModel. shouldShowPaymentSection)
339339 }
340340
341- func test_payment_section_is_updated_when_products_update( ) throws {
341+ func test_payment_section_is_updated_when_products_update( ) {
342342 // Given
343343 let currencySettings = CurrencySettings ( currencyCode: . GBP, currencyPosition: . left, thousandSeparator: " " , decimalSeparator: " . " , numberOfDecimals: 2 )
344344 let product = Product . fake ( ) . copy ( siteID: sampleSiteID, productID: sampleProductID, price: " 8.50 " , purchasable: true )
0 commit comments