12 use PHPUnit_Framework_MockObject_MockObject as MockObject;
25 private $objectManager;
30 private $fakeObjectManager;
40 private $avsDefaultAdapter;
45 private $cvvDefaultAdapter;
54 $this->fakeObjectManager = $this->getMockBuilder(ObjectManagerInterface::class)
55 ->disableOriginalConstructor()
58 $this->config = $this->getMockBuilder(ConfigInterface::class)
59 ->disableOriginalConstructor()
62 $this->avsDefaultAdapter = $this->getMockBuilder(PaymentVerificationInterface::class)
63 ->disableOriginalConstructor()
66 $this->cvvDefaultAdapter = $this->getMockBuilder(PaymentVerificationInterface::class)
67 ->disableOriginalConstructor()
70 $this->factory = $this->objectManager->getObject(PaymentVerificationFactory::class, [
71 'objectManager' => $this->fakeObjectManager,
72 'config' => $this->config,
73 'avsDefaultAdapter' => $this->avsDefaultAdapter,
74 'cvvDefaultAdapter' => $this->cvvDefaultAdapter
83 public function testCreatePaymentCvv()
85 $paymentMethodCode =
'exists_payment';
87 $this->config->expects(self::once())
88 ->method(
'setMethodCode')
89 ->with(self::equalTo($paymentMethodCode))
92 $this->config->expects(self::once())
94 ->with(
'cvv_ems_adapter')
95 ->willReturn(PaymentVerificationInterface::class);
98 $cvvAdapter = $this->getMockBuilder(PaymentVerificationInterface::class)
99 ->disableOriginalConstructor()
102 $this->fakeObjectManager->expects(self::once())
104 ->with(self::equalTo(PaymentVerificationInterface::class))
105 ->willReturn($cvvAdapter);
107 $mapper = $this->factory->createPaymentCvv($paymentMethodCode);
108 self::assertInstanceOf(PaymentVerificationInterface::class, $mapper);
118 $paymentMethodCode =
'non_exists_payment';
120 $this->config->expects(self::once())
121 ->method(
'setMethodCode')
122 ->with(self::equalTo($paymentMethodCode))
125 $this->config->expects(self::once())
127 ->with(
'cvv_ems_adapter')
130 $this->fakeObjectManager->expects(self::never())
133 $mapper = $this->factory->createPaymentCvv($paymentMethodCode);
134 self::assertSame($this->cvvDefaultAdapter, $mapper);
146 $paymentMethodCode =
'exists_payment';
148 $this->config->expects(self::once())
149 ->method(
'setMethodCode')
150 ->with(self::equalTo($paymentMethodCode))
153 $this->config->expects(self::once())
155 ->with(
'cvv_ems_adapter')
156 ->willReturn(\stdClass::class);
158 $cvvAdapter = new \stdClass();
159 $this->fakeObjectManager->expects(self::once())
161 ->with(self::equalTo(\stdClass::class))
162 ->willReturn($cvvAdapter);
164 $this->factory->createPaymentCvv($paymentMethodCode);
174 $paymentMethodCode =
'exists_payment';
176 $this->config->expects(self::once())
177 ->method(
'setMethodCode')
178 ->with(self::equalTo($paymentMethodCode))
181 $this->config->expects(self::once())
183 ->with(
'avs_ems_adapter')
184 ->willReturn(PaymentVerificationInterface::class);
186 $avsAdapter = $this->getMockBuilder(PaymentVerificationInterface::class)
187 ->disableOriginalConstructor()
190 $this->fakeObjectManager->expects(self::once())
192 ->with(self::equalTo(PaymentVerificationInterface::class))
193 ->willReturn($avsAdapter);
195 $mapper = $this->factory->createPaymentAvs($paymentMethodCode);
196 self::assertInstanceOf(PaymentVerificationInterface::class, $mapper);
204 $paymentMethodCode =
'non_exists_payment';
206 $this->config->expects(self::once())
207 ->method(
'setMethodCode')
208 ->with(self::equalTo($paymentMethodCode))
211 $this->config->expects(self::once())
213 ->with(
'avs_ems_adapter')
216 $this->fakeObjectManager->expects(self::never())
219 $mapper = $this->factory->createPaymentAvs($paymentMethodCode);
220 self::assertSame($this->avsDefaultAdapter, $mapper);
testCreateDefaultAvsMapper()
testCreateWithUnsupportedImplementation()
testCreateDefaultCvvMapper()