1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
/**
* Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
namespace Amazon\Payment\Test\Unit\Observer;
use Magento\Framework\DataObject;
use Magento\Framework\Event;
use Magento\Payment\Model\InfoInterface;
use Magento\Payment\Observer\AbstractDataAssignObserver;
use Amazon\Payment\Observer\DataAssignObserver;
use Magento\Quote\Api\Data\PaymentInterface;
/**
* Class DataAssignObserverTest
*/
class DataAssignObserverTest extends \PHPUnit\Framework\TestCase
{
const KEY_SANDBOX_SIMULATION_REFERENCE = 'sandbox_simulation_reference';
public function testExecute()
{
$observerContainer = $this->getMockBuilder(Event\Observer::class)
->disableOriginalConstructor()
->getMock();
$event = $this->getMockBuilder(Event::class)
->disableOriginalConstructor()
->getMock();
$paymentInfoModel = $this->createMock(InfoInterface::class);
$dataObject = new DataObject(
[
PaymentInterface::KEY_ADDITIONAL_DATA => [
'sandbox_simulation_reference' => self::KEY_SANDBOX_SIMULATION_REFERENCE
]
]
);
$observerContainer->expects(static::atLeastOnce())
->method('getEvent')
->willReturn($event);
$event->expects(static::exactly(2))
->method('getDataByKey')
->willReturnMap(
[
[AbstractDataAssignObserver::MODEL_CODE, $paymentInfoModel],
[AbstractDataAssignObserver::DATA_CODE, $dataObject]
]
);
$paymentInfoModel->expects(static::at(0))
->method('setAdditionalInformation')
->with('sandbox_simulation_reference', self::KEY_SANDBOX_SIMULATION_REFERENCE);
$observer = new DataAssignObserver();
$observer->execute($observerContainer);
}
}