Skip to content

Commit 9523803

Browse files
committed
Update tests
1 parent d7d8c88 commit 9523803

File tree

2 files changed

+15
-22
lines changed

2 files changed

+15
-22
lines changed

WooCommerce/Classes/ViewRelated/Orders/Order Creation/ProductsSection/ProductInOrderViewModel.swift

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@ import Yosemite
33
/// View model for `ProductInOrder`.
44
///
55
final class ProductInOrderViewModel: Identifiable {
6-
7-
/// Underlying row ID.
8-
///
9-
var ID: Int64 {
10-
productRowViewModel.id
11-
}
12-
136
/// The product being edited.
147
///
158
let productRowViewModel: ProductRowViewModel

WooCommerce/WooCommerceTests/ViewRelated/Orders/Order Creation/NewOrderViewModelTests.swift

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)