Skip to content

Commit 353fd12

Browse files
committed
Update ProductFormBottomSheetActionsFactory's actions from static to instance with dependencies passed to initializer.
1 parent 768fd0f commit 353fd12

File tree

3 files changed

+41
-31
lines changed

3 files changed

+41
-31
lines changed

WooCommerce/Classes/ViewRelated/Products/Edit Product/BottomSheetListSelector/ProductFormBottomSheetActionsFactory.swift

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,18 @@ import Yosemite
22

33
/// Creates actions for product form bottom sheet.
44
struct ProductFormBottomSheetActionsFactory {
5+
private let product: Product
6+
private let isEditProductsRelease2Enabled: Bool
7+
private let isEditProductsRelease3Enabled: Bool
8+
9+
init(product: Product, isEditProductsRelease2Enabled: Bool, isEditProductsRelease3Enabled: Bool) {
10+
self.product = product
11+
self.isEditProductsRelease2Enabled = isEditProductsRelease2Enabled
12+
self.isEditProductsRelease3Enabled = isEditProductsRelease3Enabled
13+
}
14+
515
/// Retruns an array of actions that are visible in the product form bottom sheet.
6-
static func actions(product: Product, isEditProductsRelease2Enabled: Bool, isEditProductsRelease3Enabled: Bool) -> [ProductFormBottomSheetAction] {
16+
func actions() -> [ProductFormBottomSheetAction] {
717
let shouldShowShippingSettingsRow = product.isShippingEnabled
818
let shouldShowCategoriesRow = isEditProductsRelease3Enabled
919
let shouldShowShortDescriptionRow = isEditProductsRelease2Enabled

WooCommerce/Classes/ViewRelated/Products/Edit Product/ProductFormViewController.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -466,9 +466,9 @@ private extension ProductFormViewController {
466466
}
467467

468468
private func createBottomSheetActions() -> [ProductFormBottomSheetAction] {
469-
ProductFormBottomSheetActionsFactory.actions(product: product,
470-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
471-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
469+
ProductFormBottomSheetActionsFactory(product: product,
470+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
471+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
472472
}
473473
}
474474

WooCommerce/WooCommerceTests/ViewRelated/Products/BottomSheetListSelector/ProductFormBottomSheetActionsFactoryTests.swift

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
1010
let product = Fixtures.physicalProduct
1111
let isEditProductsRelease2Enabled = false
1212
let isEditProductsRelease3Enabled = false
13-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
14-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
15-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
13+
let actions = ProductFormBottomSheetActionsFactory(product: product,
14+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
15+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
1616

1717
let expectedActions: [ProductFormBottomSheetAction] = [
1818
.editInventorySettings,
@@ -25,9 +25,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
2525
let product = Fixtures.virtualProduct
2626
let isEditProductsRelease2Enabled = false
2727
let isEditProductsRelease3Enabled = false
28-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
29-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
30-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
28+
let actions = ProductFormBottomSheetActionsFactory(product: product,
29+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
30+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
3131

3232
let expectedActions: [ProductFormBottomSheetAction] = [
3333
.editInventorySettings
@@ -39,9 +39,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
3939
let product = Fixtures.downloadableProduct
4040
let isEditProductsRelease2Enabled = false
4141
let isEditProductsRelease3Enabled = false
42-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
43-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
44-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
42+
let actions = ProductFormBottomSheetActionsFactory(product: product,
43+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
44+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
4545

4646
let expectedActions: [ProductFormBottomSheetAction] = [
4747
.editInventorySettings
@@ -55,9 +55,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
5555
let product = Fixtures.physicalProduct
5656
let isEditProductsRelease2Enabled = true
5757
let isEditProductsRelease3Enabled = false
58-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
59-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
60-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
58+
let actions = ProductFormBottomSheetActionsFactory(product: product,
59+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
60+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
6161

6262
let expectedActions: [ProductFormBottomSheetAction] = [
6363
.editInventorySettings,
@@ -71,9 +71,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
7171
let product = Fixtures.virtualProduct
7272
let isEditProductsRelease2Enabled = true
7373
let isEditProductsRelease3Enabled = false
74-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
75-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
76-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
74+
let actions = ProductFormBottomSheetActionsFactory(product: product,
75+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
76+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
7777

7878
let expectedActions: [ProductFormBottomSheetAction] = [
7979
.editInventorySettings,
@@ -86,9 +86,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
8686
let product = Fixtures.downloadableProduct
8787
let isEditProductsRelease2Enabled = true
8888
let isEditProductsRelease3Enabled = false
89-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
90-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
91-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
89+
let actions = ProductFormBottomSheetActionsFactory(product: product,
90+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
91+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
9292

9393
let expectedActions: [ProductFormBottomSheetAction] = [
9494
.editInventorySettings,
@@ -103,9 +103,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
103103
let product = Fixtures.physicalProduct
104104
let isEditProductsRelease2Enabled = true
105105
let isEditProductsRelease3Enabled = true
106-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
107-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
108-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
106+
let actions = ProductFormBottomSheetActionsFactory(product: product,
107+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
108+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
109109

110110
let expectedActions: [ProductFormBottomSheetAction] = [
111111
.editInventorySettings,
@@ -120,9 +120,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
120120
let product = Fixtures.virtualProduct
121121
let isEditProductsRelease2Enabled = true
122122
let isEditProductsRelease3Enabled = true
123-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
124-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
125-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
123+
let actions = ProductFormBottomSheetActionsFactory(product: product,
124+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
125+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
126126

127127
let expectedActions: [ProductFormBottomSheetAction] = [
128128
.editInventorySettings,
@@ -136,9 +136,9 @@ final class ProductFormBottomSheetActionsFactoryTests: XCTestCase {
136136
let product = Fixtures.downloadableProduct
137137
let isEditProductsRelease2Enabled = true
138138
let isEditProductsRelease3Enabled = true
139-
let actions = ProductFormBottomSheetActionsFactory.actions(product: product,
140-
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
141-
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled)
139+
let actions = ProductFormBottomSheetActionsFactory(product: product,
140+
isEditProductsRelease2Enabled: isEditProductsRelease2Enabled,
141+
isEditProductsRelease3Enabled: isEditProductsRelease3Enabled).actions()
142142

143143
let expectedActions: [ProductFormBottomSheetAction] = [
144144
.editInventorySettings,

0 commit comments

Comments
 (0)