17 use PHPUnit_Framework_MockObject_MockObject as MockObject;
37 private $adapterFactoryMock;
42 private $quoteSessionMock;
47 private $resultFactoryMock;
51 $this->resultFactoryMock = $this->getMockBuilder(ResultFactory::class)
52 ->disableOriginalConstructor()
53 ->setMethods([
'create'])
55 $context = $this->getMockBuilder(Context::class)
56 ->disableOriginalConstructor()
57 ->setMethods([
'getResultFactory'])
59 $context->expects(static::any())
60 ->method(
'getResultFactory')
61 ->willReturn($this->resultFactoryMock);
62 $this->configMock = $this->getMockBuilder(Config::class)
63 ->disableOriginalConstructor()
64 ->setMethods([
'getMerchantAccountId'])
66 $this->adapterFactoryMock = $this->getMockBuilder(BraintreeAdapterFactory::class)
67 ->disableOriginalConstructor()
68 ->setMethods([
'create'])
70 $this->quoteSessionMock = $this->getMockBuilder(Quote::class)
71 ->disableOriginalConstructor()
72 ->setMethods([
'getStoreId'])
76 $this->action = $managerHelper->getObject(GetClientToken::class, [
77 'context' => $context,
78 'config' => $this->configMock,
79 'adapterFactory' => $this->adapterFactoryMock,
80 'quoteSession' => $this->quoteSessionMock,
87 $clientToken =
'client_token';
88 $responseMock = $this->getMockBuilder(ResultInterface::class)
89 ->setMethods([
'setHttpResponseCode',
'renderResult',
'setHeader',
'setData'])
91 $responseMock->expects(static::once())
93 ->with([
'clientToken' => $clientToken])
94 ->willReturn($responseMock);
95 $this->resultFactoryMock->expects(static::once())
97 ->willReturn($responseMock);
98 $this->quoteSessionMock->expects(static::once())
99 ->method(
'getStoreId')
101 $this->configMock->expects(static::once())
102 ->method(
'getMerchantAccountId')
105 $adapterMock = $this->getMockBuilder(BraintreeAdapter::class)
106 ->disableOriginalConstructor()
107 ->setMethods([
'generate'])
109 $adapterMock->expects(static::once())
111 ->willReturn($clientToken);
112 $this->adapterFactoryMock->expects(static::once())
114 ->willReturn($adapterMock);
116 $this->action->execute();