32 private $localeResolverMock;
41 $this->localeMock = $this->getMockBuilder(\
Magento\Framework\Stdlib\
DateTime\TimezoneInterface::class)
43 $this->localeResolverMock = $this->getMockBuilder(\
Magento\Framework\Locale\ResolverInterface::class)
45 $this->loggerMock = $this->getMockBuilder(\Psr\Log\LoggerInterface::class)
47 $this->directoryHelperMock = $this->getMockBuilder(\
Magento\Directory\Helper\Data::class)
48 ->disableOriginalConstructor()
50 $this->attributeMock = $this->getMockBuilder(\
Magento\Eav\Model\Entity\
Attribute\AbstractAttribute::class)
51 ->disableOriginalConstructor()
52 ->setMethods([
'getStoreLabel'])
66 $storeLabel =
'Zip/Postal Code';
67 $this->attributeMock->expects($this->any())
68 ->method(
'getStoreLabel')
69 ->willReturn($storeLabel);
71 $this->directoryHelperMock->expects($this->once())
72 ->method(
'isZipCodeOptional')
74 [$countryId, $isOptional],
77 $object = new \Magento\Customer\Model\Attribute\Data\Postcode(
80 $this->localeResolverMock,
81 $this->directoryHelperMock
83 $object->setAttribute($this->attributeMock);
84 $object->setExtractedData([
'country_id' => $countryId]);
86 $actual = $object->validateValue(
$value);
87 $this->assertEquals($expected, $actual);
96 [
'', [
'"Zip/Postal Code" is a required value.'],
'US',
false],
97 [
'90034',
true,
'US',
false],
98 [
'',
true,
'IE',
true],
99 [
'90034',
true,
'IE',
true],
testValidateValue($value, $expected, $countryId, $isOptional)
validateValueDataProvider()