1
1
<?php
2
2
/**
3
- * Copyright © Magento, Inc. All rights reserved.
4
- * See COPYING.txt for license details .
3
+ * Copyright 2014 Adobe
4
+ * All Rights Reserved .
5
5
*/
6
6
declare (strict_types=1 );
7
7
@@ -96,14 +96,27 @@ public static function outputValueDataProvider()
96
96
* @param array $rules
97
97
* @param mixed $originalValue
98
98
* @param bool $isRequired
99
+ * @param bool $skipRequiredValidation
99
100
* @param array $expectedResult
100
101
* @dataProvider validateValueDataProvider
101
102
*/
102
- public function testValidateValue ($ value , $ rules , $ originalValue , $ isRequired , $ expectedResult )
103
- {
104
- $ entityMock = $ this ->createMock (AbstractModel::class);
103
+ public function testValidateValue (
104
+ $ value ,
105
+ $ rules ,
106
+ $ originalValue ,
107
+ $ isRequired ,
108
+ $ skipRequiredValidation ,
109
+ $ expectedResult
110
+ ) {
111
+ $ entityMock = $ this ->getMockBuilder (AbstractModel::class)
112
+ ->disableOriginalConstructor ()
113
+ ->onlyMethods (['getDataUsingMethod ' ])
114
+ ->addMethods (['getSkipRequiredValidation ' ])
115
+ ->getMock ();
105
116
$ entityMock ->expects ($ this ->any ())->method ('getDataUsingMethod ' )->willReturn ($ originalValue );
106
-
117
+ $ entityMock ->expects ($ this ->any ())
118
+ ->method ('getSkipRequiredValidation ' )
119
+ ->willReturn ($ skipRequiredValidation );
107
120
$ attributeMock = $ this ->createMock (Attribute::class);
108
121
$ attributeMock ->expects ($ this ->any ())->method ('getStoreLabel ' )->willReturn ('Label ' );
109
122
$ attributeMock ->expects ($ this ->any ())->method ('getIsRequired ' )->willReturn ($ isRequired );
@@ -125,41 +138,55 @@ public static function validateValueDataProvider()
125
138
'rules ' => [],
126
139
'originalValue ' => false ,
127
140
'isRequired ' => true ,
141
+ 'skipRequiredValidation ' => false ,
128
142
'expectedResult ' => ['"Label" is a required value. ' ],
129
143
],
130
144
[
131
145
'value ' => 'value ' ,
132
146
'rules ' => [],
133
147
'originalValue ' => 'value ' ,
134
148
'isRequired ' => false ,
149
+ 'skipRequiredValidation ' => false ,
150
+ 'expectedResult ' => true ,
151
+ ],
152
+ [
153
+ 'value ' => false ,
154
+ 'rules ' => [],
155
+ 'originalValue ' => '' ,
156
+ 'isRequired ' => true ,
157
+ 'skipRequiredValidation ' => true ,
135
158
'expectedResult ' => true ,
136
159
],
137
160
[
138
161
'value ' => null ,
139
162
'rules ' => [],
140
163
'originalValue ' => '' ,
141
164
'isRequired ' => false ,
165
+ 'skipRequiredValidation ' => false ,
142
166
'expectedResult ' => true ,
143
167
],
144
168
[
145
169
'value ' => '2000-01-01 ' ,
146
170
'rules ' => ['date_range_min ' => strtotime ('2001-01-01 ' ),'date_range_max ' => strtotime ('2002-01-01 ' )],
147
171
'originalValue ' => '' ,
148
172
'isRequired ' => false ,
173
+ 'skipRequiredValidation ' => false ,
149
174
'expectedResult ' => ['Please enter a valid date between 01/01/2001 and 01/01/2002 at Label. ' ],
150
175
],
151
176
[
152
177
'value ' => '2000-01-01 ' ,
153
178
'rules ' => ['date_range_min ' => strtotime ('2001-01-01 ' )],
154
179
'originalValue ' => '' ,
155
180
'isRequired ' => false ,
181
+ 'skipRequiredValidation ' => false ,
156
182
'expectedResult ' => ['Please enter a valid date equal to or greater than 01/01/2001 at Label. ' ],
157
183
],
158
184
[
159
185
'value ' => '2010-01-01 ' ,
160
186
'rules ' => ['date_range_max ' => strtotime ('2001-01-01 ' )],
161
187
'originalValue ' => '' ,
162
188
'isRequired ' => false ,
189
+ 'skipRequiredValidation ' => false ,
163
190
'expectedResult ' => ['Please enter a valid date less than or equal to 01/01/2001 at Label. ' ],
164
191
],
165
192
];
0 commit comments