39 $this->attributeMock =
40 $this->getMockBuilder(AbstractAttribute::class)
41 ->setMethods([
'getFrontendInput',
'getValidateRules'])
42 ->disableOriginalConstructor()
43 ->getMockForAbstractClass();
55 public function testBuild($attributeInputType, $validateRules,
$data, $expected): void
57 $this->attributeMock->expects($this->once())->method(
'getFrontendInput')->willReturn($attributeInputType);
58 $this->attributeMock->expects($this->any())->method(
'getValidateRules')->willReturn($validateRules);
59 $validationRules = $this->subject->build($this->attributeMock,
$data);
60 $this->assertEquals($expected, $validationRules);
73 [
'',
'', [
'required' => 1], [
'required-entry' =>
true]],
74 [
'price',
'', [], [
'validate-zero-or-greater' =>
true]],
75 [
'price',
'', [
'required' => 1], [
'validate-zero-or-greater' =>
true,
'required-entry' =>
true]],
76 [
'', [
'input_validation' =>
'email'], [], [
'validate-email' =>
true]],
77 [
'', [
'input_validation' =>
'date'], [], [
'validate-date' =>
true]],
78 [
'', [
'input_validation' =>
'other'], [], []],
79 [
'', [
'max_text_length' =>
'254'], [
'required' => 1], [
'required-entry' =>
true]],
82 [
'input_validation' =>
'other',
'max_text_length' =>
'254'],
84 [
'max_text_length' => 254,
'required-entry' =>
true]
88 [
'input_validation' =>
'other',
'max_text_length' =>
'254',
'min_text_length' => 1],
90 [
'max_text_length' => 254,
'min_text_length' => 1]
94 [
'max_text_length' =>
'254',
'input_validation' =>
'date'],
96 [
'max_text_length' => 254,
'validate-date' =>
true]
testBuild($attributeInputType, $validateRules, $data, $expected)