15 $validationSubject = [];
16 $validator1 = $this->getMockBuilder(\
Magento\Payment\Gateway\
Validator\ValidatorInterface::class)
17 ->getMockForAbstractClass();
18 $validator2 = $this->getMockBuilder(\
Magento\Payment\Gateway\
Validator\ValidatorInterface::class)
19 ->getMockForAbstractClass();
20 $tMapFactory = $this->getMockBuilder(\
Magento\Framework\ObjectManager\TMapFactory::class)
21 ->disableOriginalConstructor()
22 ->setMethods([
'create'])
24 $tMap = $this->getMockBuilder(\
Magento\Framework\ObjectManager\TMap::class)
25 ->disableOriginalConstructor()
28 $tMapFactory->expects(static::once())
33 'validator1' => \
Magento\Payment\Gateway\
Validator\ValidatorInterface::class,
36 'type' => ValidatorInterface::class
40 $tMap->expects(static::once())
41 ->method(
'getIterator')
42 ->willReturn(
new \ArrayIterator([$validator1, $validator2]));
44 $resultSuccess = $this->getMockBuilder(\
Magento\Payment\Gateway\
Validator\ResultInterface::class)
45 ->getMockForAbstractClass();
46 $resultSuccess->expects(static::once())
49 $resultFail = $this->getMockBuilder(\
Magento\Payment\Gateway\
Validator\ResultInterface::class)
50 ->getMockForAbstractClass();
51 $resultFail->expects(static::once())
54 $resultFail->expects(static::once())
55 ->method(
'getFailsDescription')
56 ->willReturn([
'Fail']);
58 $validator1->expects(static::once())
60 ->with($validationSubject)
61 ->willReturn($resultSuccess);
62 $validator2->expects(static::once())
64 ->with($validationSubject)
65 ->willReturn($resultFail);
67 $compositeResult = $this->getMockBuilder(\
Magento\Payment\Gateway\
Validator\ResultInterface::class)
68 ->getMockForAbstractClass();
69 $resultFactory = $this->getMockBuilder(\
Magento\Payment\Gateway\
Validator\ResultInterfaceFactory::class)
70 ->disableOriginalConstructor()
71 ->setMethods([
'create'])
73 $resultFactory->expects(static::once())
78 'failsDescription' => [
'Fail'],
82 ->willReturn($compositeResult);
88 'validator1' => \
Magento\Payment\Gateway\
Validator\ValidatorInterface::class,
92 static::assertSame($compositeResult, $validatorComposite->validate($validationSubject));