Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DataAssignObserverTest.php
Go to the documentation of this file.
1 <?php
7 
14 
18 class DataAssignObserverTest extends \PHPUnit\Framework\TestCase
19 {
20  const PAYMENT_METHOD_NONCE = 'nonce';
21  const DEVICE_DATA = '{"test": "test"}';
22 
23  public function testExecute()
24  {
25  $observerContainer = $this->getMockBuilder(Event\Observer::class)
26  ->disableOriginalConstructor()
27  ->getMock();
28  $event = $this->getMockBuilder(Event::class)
29  ->disableOriginalConstructor()
30  ->getMock();
31  $paymentInfoModel = $this->createMock(InfoInterface::class);
32  $dataObject = new DataObject(
33  [
35  'payment_method_nonce' => self::PAYMENT_METHOD_NONCE,
36  'device_data' => self::DEVICE_DATA
37  ]
38  ]
39  );
40  $observerContainer->expects(static::atLeastOnce())
41  ->method('getEvent')
42  ->willReturn($event);
43  $event->expects(static::exactly(2))
44  ->method('getDataByKey')
45  ->willReturnMap(
46  [
47  [AbstractDataAssignObserver::MODEL_CODE, $paymentInfoModel],
49  ]
50  );
51  $paymentInfoModel->expects(static::at(0))
52  ->method('setAdditionalInformation')
53  ->with('payment_method_nonce', self::PAYMENT_METHOD_NONCE);
54  $paymentInfoModel->expects(static::at(1))
55  ->method('setAdditionalInformation')
56  ->with('device_data', self::DEVICE_DATA);
57 
59  $observer->execute($observerContainer);
60  }
61 }