8 use Braintree\Result\Error;
14 use Magento\Payment\Gateway\Validator\ResultInterfaceFactory;
15 use PHPUnit_Framework_MockObject_MockObject as MockObject;
22 private $responseValidator;
27 private $resultInterfaceFactory;
36 $this->resultInterfaceFactory = $this->getMockBuilder(ResultInterfaceFactory::class)
37 ->disableOriginalConstructor()
38 ->setMethods([
'create'])
42 $this->resultInterfaceFactory,
59 public function testValidate(array $validationSubject,
bool $isValid, $messages, array $errorCodes)
63 $this->resultInterfaceFactory->method(
'create')
65 'isValid' => $isValid,
66 'failsDescription' => $messages,
67 'errorCodes' => $errorCodes
71 $actual = $this->responseValidator->validate($validationSubject);
73 self::assertEquals(
$result, $actual);
83 $successTransaction = new \stdClass();
84 $successTransaction->success =
true;
86 $failureTransaction = new \stdClass();
87 $failureTransaction->success =
false;
88 $failureTransaction->message =
'Transaction was failed.';
94 'attribute' =>
'base',
95 'message' =>
'Cannot process transaction.' 99 $errorTransaction =
new Error([
'errors' =>
$errors]);
103 'validationSubject' => [
105 'object' => $successTransaction
113 'validationSubject' => [
115 'object' => $failureTransaction
120 __(
'Transaction was failed.')
125 'validationSubject' => [
127 'object' => $errorTransaction
132 __(
'Braintree error response.')
134 'errorCodes' => [
'81804']
dataProviderTestValidate()
testValidate(array $validationSubject, bool $isValid, $messages, array $errorCodes)