18 use PHPUnit_Framework_MockObject_MockObject as MockObject;
33 private $resultFactory;
38 private $ratesProvider;
48 private $searchCriteriaBuilder;
55 $this->context = $this->getMockBuilder(Context::class)
56 ->disableOriginalConstructor()
59 $this->searchCriteriaBuilder = $this->getMockBuilder(SearchCriteriaBuilder::class)
60 ->disableOriginalConstructor()
63 $this->request = $this->getMockBuilder(Request::class)
64 ->disableOriginalConstructor()
67 $this->resultFactory = $this->getMockBuilder(ResultFactory::class)
68 ->disableOriginalConstructor()
71 $this->ratesProvider = $this->getMockBuilder(RatesProvider::class)
72 ->disableOriginalConstructor()
83 $this->request->expects($this->any())
88 $this->searchCriteriaBuilder->expects($this->once())
89 ->method(
'setCurrentPage')
92 $this->searchCriteriaBuilder->expects($this->once())
93 ->method(
'setPageSize')
97 ->getMockForAbstractClass();
99 $this->searchCriteriaBuilder->expects($this->once())
103 $this->ratesProvider->expects($this->any())
104 ->method(
'toOptionArray')
106 ->willThrowException(
new \Exception());
108 $jsonObject= $this->getMockBuilder(Json::class)
109 ->disableOriginalConstructor()
110 ->setMethods([
'setData'])
113 $jsonObject->expects($this->once())
117 'errorMessage' =>
__(
'An error occurred while loading tax rates.')
120 $this->resultFactory->expects($this->any())
123 ->willReturn($jsonObject);
126 AjaxLoadRates::class,
128 'context' => $this->context,
129 'searchCriteriaBuilder' => $this->searchCriteriaBuilder,
130 'ratesProvider' => $this->ratesProvider,
131 'resultFactory' => $this->resultFactory,
132 '_request' => $this->request
136 $this->assertSame($jsonObject,
$controller->execute());