|
7 | 7 | namespace Magento\Webapi;
|
8 | 8 |
|
9 | 9 | use Magento\Framework\Api\SearchCriteriaBuilder;
|
| 10 | +use Magento\Framework\Api\SortOrderBuilder; |
| 11 | +use Magento\Framework\Api\SortOrder; |
| 12 | +use Magento\Framework\Api\SearchCriteria; |
10 | 13 |
|
11 | 14 | class JoinDirectivesTest extends \Magento\TestFramework\TestCase\WebapiAbstract
|
12 | 15 | {
|
13 | 16 | /**
|
14 |
| - * @var string |
15 |
| - */ |
16 |
| - protected $_version; |
17 |
| - |
18 |
| - /** |
19 |
| - * @var string |
20 |
| - */ |
21 |
| - protected $_restResourcePath; |
22 |
| - |
23 |
| - /** |
24 |
| - * @var string |
| 17 | + * @var SearchCriteriaBuilder |
25 | 18 | */
|
26 |
| - protected $_soapService; |
| 19 | + private $searchBuilder; |
27 | 20 |
|
28 | 21 | /**
|
29 |
| - * @var SearchCriteriaBuilder |
| 22 | + * @var SortOrderBuilder |
30 | 23 | */
|
31 |
| - private $searchBuilder; |
| 24 | + private $sortOrderBuilder; |
32 | 25 |
|
33 | 26 | protected function setUp()
|
34 | 27 | {
|
35 | 28 | $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
|
36 |
| - $this->_version = 'V1'; |
37 |
| - $this->_restResourcePath = "/{$this->_version}/TestJoinDirectives/"; |
38 |
| - $this->_soapService = "testJoinDirectivesTestRepository{$this->_version}"; |
39 |
| - $this->searchBuilder = $objectManager->create( |
40 |
| - 'Magento\Framework\Api\SearchCriteriaBuilder' |
41 |
| - ); |
| 29 | + $this->searchBuilder = $objectManager->create('Magento\Framework\Api\SearchCriteriaBuilder'); |
| 30 | + $this->sortOrderBuilder = $objectManager->create('Magento\Framework\Api\SortOrderBuilder'); |
42 | 31 | }
|
43 | 32 |
|
| 33 | + /** |
| 34 | + * @magentoApiDataFixture Magento/Sales/_files/quote.php |
| 35 | + */ |
44 | 36 | public function testGetList()
|
45 | 37 | {
|
| 38 | + /** @var SortOrder $sortOrder */ |
| 39 | + $sortOrder = $this->sortOrderBuilder->setField('store_id')->setDirection(SearchCriteria::SORT_ASC)->create(); |
| 40 | + $this->searchBuilder->setSortOrders([$sortOrder]); |
| 41 | + $searchCriteria = $this->searchBuilder->create()->__toArray(); |
| 42 | + $requestData = ['searchCriteria' => $searchCriteria]; |
| 43 | + |
| 44 | + $restResourcePath = '/V1/TestJoinDirectives/'; |
| 45 | + $soapService = 'testJoinDirectivesTestRepositoryV1'; |
| 46 | + |
46 | 47 | $serviceInfo = [
|
47 | 48 | 'rest' => [
|
48 |
| - 'resourcePath' => $this->_restResourcePath, |
| 49 | + 'resourcePath' => $restResourcePath . '?' . http_build_query($requestData), |
49 | 50 | 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET,
|
50 | 51 | ],
|
51 | 52 | 'soap' => [
|
52 |
| - 'service' => $this->_soapService, |
53 |
| - 'operation' => $this->_soapService . 'GetList', |
| 53 | + 'service' => $soapService, |
| 54 | + 'operation' => $soapService . 'GetList', |
54 | 55 | ],
|
55 | 56 | ];
|
56 |
| - $searchCriteria = $this->searchBuilder->create()->__toArray(); |
57 |
| - $requestData = ['searchCriteria' => $searchCriteria]; |
58 | 57 | $searchResult = $this->_webApiCall($serviceInfo, $requestData);
|
| 58 | + |
| 59 | + $expectedExtensionAttributes = [ |
| 60 | + 'firstname' => 'Admin', |
| 61 | + 'lastname' => 'Admin', |
| 62 | + 'email' => 'admin@example.com' |
| 63 | + ]; |
| 64 | + |
| 65 | + $this->assertArrayHasKey('items', $searchResult); |
| 66 | + $cartData = array_pop($searchResult['items']); |
| 67 | + $testAttribute = $cartData['extension_attributes']['quote_test_attribute']; |
| 68 | + $this->assertEquals($expectedExtensionAttributes['firstname'], $testAttribute['first_name']); |
| 69 | + $this->assertEquals($expectedExtensionAttributes['lastname'], $testAttribute['last_name']); |
| 70 | + $this->assertEquals($expectedExtensionAttributes['email'], $testAttribute['email']); |
59 | 71 | }
|
60 | 72 | }
|
0 commit comments