@@ -65,7 +65,9 @@ protected function setUp()
65
65
66
66
/**
67
67
* @param array $productSortData
68
- * @dataProvider productSortDataProvider
68
+ * @dataProvider productSortDataProvider1
69
+ * @dataProvider productSortDataProvider2
70
+ * @dataProvider productSortDataProvider3
69
71
* @magentoDataFixture Magento/PageBuilder/_files/catalog_sorting/products.php
70
72
* @magentoDataFixture Magento/PageBuilder/_files/catalog_sorting/bundle_product.php
71
73
* @magentoDataFixture Magento/PageBuilder/_files/catalog_sorting/configurable_products.php
@@ -81,20 +83,26 @@ public function testSortOptions(array $productSortData)
81
83
$ this ->productList ->setData (
82
84
[
83
85
'store_id ' => 1 ,
84
- 'conditions_encoded ' => '^[
85
- `1`:^[
86
- `aggregator`:`all`,
87
- `new_child`:``,
88
- `type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,
89
- `value`:`1`
90
- ^],
91
- `1--1`:^[
92
- `operator`:`()`,
93
- `type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,
94
- `attribute`:`sku`,
95
- `value`:`B_PB_PRODUCT,a_pb_product,C_PB_PRODUCT,1_PB_PRODUCT,PB_PRODUCT_CPR,PB_VIRTUAL_PRODUCT,simple_second_website,simple1,simple2,simple3,bundle_product,configurable,simple_11,simple_21,gift-card,grouped,simple_100000001,simple_100000002,simple-with-fpt,downloadable-product-price-on-product,downloadable-product-price-on-link`
96
- ^]
97
- ^] ' ,
86
+ 'conditions_encoded ' => json_encode (
87
+ [
88
+ '1 ' => [
89
+ 'aggregator ' => 'all ' ,
90
+ 'new_child ' => '' ,
91
+ 'type ' => \Magento \CatalogWidget \Model \Rule \Condition \Combine::class,
92
+ 'value ' => 1
93
+ ],
94
+ '1--1 ' => [
95
+ 'operator ' => '() ' ,
96
+ 'type ' => \Magento \CatalogWidget \Model \Rule \Condition \Product::class,
97
+ 'attribute ' => 'sku ' ,
98
+ 'value ' => 'B_PB_PRODUCT,a_pb_product,C_PB_PRODUCT,1_PB_PRODUCT,PB_PRODUCT_CPR, ' .
99
+ 'PB_VIRTUAL_PRODUCT,simple_second_website,simple1,simple2,simple3,bundle_product, ' .
100
+ 'configurable,simple_11,simple_21,gift-card,grouped,simple_100000001, ' .
101
+ 'simple_100000002,simple-with-fpt,downloadable-product-price-on-product, ' .
102
+ 'downloadable-product-price-on-link '
103
+ ]
104
+ ]
105
+ ),
98
106
'products_count ' => 99
99
107
]
100
108
);
@@ -125,7 +133,7 @@ public function testSortOptions(array $productSortData)
125
133
*
126
134
* @return array
127
135
*/
128
- public function productSortDataProvider () : array
136
+ public function productSortDataProvider1 () : array
129
137
{
130
138
return [
131
139
[
@@ -206,6 +214,21 @@ public function productSortDataProvider() : array
206
214
'a_pb_product ' ,
207
215
'1_PB_PRODUCT '
208
216
],
217
+ ],
218
+ ]
219
+ ];
220
+ }
221
+
222
+ /**
223
+ * Provide sorting rule and expected order of SKUs once sort is applied
224
+ *
225
+ * @return array
226
+ */
227
+ public function productSortDataProvider2 () : array
228
+ {
229
+ return [
230
+ [
231
+ [
209
232
'sku_ascending ' => [
210
233
'1_PB_PRODUCT ' ,
211
234
'a_pb_product ' ,
@@ -282,6 +305,21 @@ public function productSortDataProvider() : array
282
305
'grouped ' ,
283
306
'gift-card '
284
307
],
308
+ ],
309
+ ]
310
+ ];
311
+ }
312
+
313
+ /**
314
+ * Provide sorting rule and expected order of SKUs once sort is applied
315
+ *
316
+ * @return array
317
+ */
318
+ public function productSortDataProvider3 () : array
319
+ {
320
+ return [
321
+ [
322
+ [
285
323
'price_high_to_low ' => [
286
324
'bundle_product ' ,
287
325
'1_PB_PRODUCT ' ,
0 commit comments