forked from magento/magento2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
IndexTest.php
115 lines (111 loc) · 3.24 KB
/
IndexTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\CatalogSearch\Controller\Advanced;
use Magento\TestFramework\TestCase\AbstractController;
use Laminas\Stdlib\Parameters;
/**
* Test cases for catalog advanced index using params.
*
* @magentoDbIsolation disabled
* @magentoAppIsolation enabled
*/
class IndexTest extends AbstractController
{
/**
* Advanced index test by params with the array in params.
*
* @magentoAppArea frontend
* @dataProvider fromParamsInArrayDataProvider
*
* @param array $searchParams
* @return void
*/
public function testExecuteWithArrayInParams(array $searchParams): void
{
$this->getRequest()->setQuery(
$this->_objectManager->create(
Parameters::class,
[
'values' => $searchParams
]
)
);
$this->dispatch('catalogsearch/advanced/index');
$this->assertEquals(200, $this->getResponse()->getStatusCode());
$this->getResponse()->getBody();
}
/**
* Data provider with array in param values.
*
* @return array
*/
public function fromParamsInArrayDataProvider(): array
{
return [
'from_data_with_from_param_is_array' => [
[
'name' => '',
'sku' => '',
'description' => '',
'short_description' => '',
'price' => [
'from' => [],
'to' => 1,
]
]
],
'from_data_with_to_param_is_array' => [
[
'name' => '',
'sku' => '',
'description' => '',
'short_description' => '',
'price' => [
'from' => 0,
'to' => [],
]
]
],
'from_data_with_params_in_array' => [
[
'name' => '',
'sku' => '',
'description' => '',
'short_description' => '',
'price' => [
'from' => ['0' => 1],
'to' => [1],
]
]
],
'from_data_with_params_in_array_in_array' => [
[
'name' => '',
'sku' => '',
'description' => '',
'short_description' => '',
'price' => [
'from' => ['0' => ['0' => 1]],
'to' => 1,
]
]
],
'from_data_with_name_param_is_array' => [
[
'name' => [],
'sku' => '',
'description' => '',
'short_description' => '',
'price' => [
'from' => 0,
'to' => 20,
]
]
]
];
}
}