8 use Braintree\Transaction;
13 use PHPUnit_Framework_MockObject_MockObject as MockObject;
25 private $riskDataHandler;
30 private $subjectReaderMock;
37 $this->subjectReaderMock = $this->getMockBuilder(SubjectReader::class)
38 ->disableOriginalConstructor()
39 ->setMethods([
'readPayment',
'readTransaction'])
52 public function testHandle($riskDecision, $isFraud)
55 $payment = $this->getMockBuilder(Payment::class)
56 ->disableOriginalConstructor()
57 ->setMethods([
'setAdditionalInformation',
'setIsFraudDetected'])
60 $paymentDO = $this->createMock(PaymentDataObjectInterface::class);
61 $paymentDO->expects(self::once())
62 ->method(
'getPayment')
68 'decision' => $riskDecision
76 'payment' => $paymentDO,
79 $this->subjectReaderMock->expects(static::once())
80 ->method(
'readPayment')
81 ->with($handlingSubject)
82 ->willReturn($paymentDO);
83 $this->subjectReaderMock->expects(static::once())
84 ->method(
'readTransaction')
89 ->method(
'setAdditionalInformation')
92 ->method(
'setAdditionalInformation')
97 ->method(
'setIsFraudDetected');
100 ->method(
'setIsFraudDetected')
104 $this->riskDataHandler->handle($handlingSubject,
$response);
114 [
'decision' =>
'Not Evaluated',
'isFraud' =>
false],
115 [
'decision' =>
'Approve',
'isFraud' =>
false],
116 [
'decision' =>
'Review',
'isFraud' =>
true],