20 private $searchBuilder;
25 private $sortOrderBuilder;
30 private $filterBuilder;
51 public function testGetList()
54 $sortOrder = $this->sortOrderBuilder->setField(
'store_id')->setDirection(
SortOrder::SORT_ASC)->create();
55 $this->searchBuilder->setSortOrders([$sortOrder]);
59 $restResourcePath =
'/V1/TestModuleJoinDirectives/';
60 $soapService =
'testModuleJoinDirectivesTestRepositoryV1';
61 $expectedExtensionAttributes = $this->getExpectedExtensionAttributes();
65 'resourcePath' => $restResourcePath .
'?' . http_build_query(
$requestData),
69 'service' => $soapService,
70 'operation' => $soapService .
'GetList',
75 $this->assertArrayHasKey(
'items', $searchResult);
76 $itemData = array_pop($searchResult[
'items']);
77 $this->assertArrayHasKey(
'extension_attributes', $itemData);
78 $this->assertArrayHasKey(
'quote_api_test_attribute', $itemData[
'extension_attributes']);
79 $testAttribute = $itemData[
'extension_attributes'][
'quote_api_test_attribute'];
80 $this->assertEquals($expectedExtensionAttributes[
'firstname'], $testAttribute[
'first_name']);
81 $this->assertEquals($expectedExtensionAttributes[
'lastname'], $testAttribute[
'last_name']);
82 $this->assertEquals($expectedExtensionAttributes[
'email'], $testAttribute[
'email']);
88 public function testAutoGeneratedGetList()
90 $this->markTestSkipped(
91 'Invoice repository is not autogenerated anymore and does not have joined extension attributes' 93 $this->getExpectedExtensionAttributes();
95 $sortOrder = $this->sortOrderBuilder->setField(
'store_id')->setDirection(
SortOrder::SORT_ASC)->create();
96 $this->searchBuilder->setSortOrders([$sortOrder]);
97 $this->searchBuilder->addFilters([$this->filterBuilder->setField(
'state')->setValue(2)->create()]);
101 $restResourcePath =
'/V1/invoices/';
102 $soapService =
'salesInvoiceRepositoryV1';
103 $expectedExtensionAttributes = $this->getExpectedExtensionAttributes();
107 'resourcePath' => $restResourcePath .
'?' . http_build_query(
$requestData),
111 'service' => $soapService,
112 'operation' => $soapService .
'GetList',
117 $this->assertArrayHasKey(
'items', $searchResult);
118 $itemData = array_pop($searchResult[
'items']);
119 $this->assertArrayHasKey(
'extension_attributes', $itemData);
120 $this->assertArrayHasKey(
'invoice_api_test_attribute', $itemData[
'extension_attributes']);
121 $testAttribute = $itemData[
'extension_attributes'][
'invoice_api_test_attribute'];
122 $this->assertEquals($expectedExtensionAttributes[
'firstname'], $testAttribute[
'first_name']);
123 $this->assertEquals($expectedExtensionAttributes[
'lastname'], $testAttribute[
'last_name']);
124 $this->assertEquals($expectedExtensionAttributes[
'email'], $testAttribute[
'email']);
132 private function getExpectedExtensionAttributes()
134 $this->user->load(1);
136 'firstname' => $this->user->getFirstname(),
137 'lastname' => $this->user->getLastname(),
138 'email' => $this->user->getEmail()
_webApiCall( $serviceInfo, $arguments=[], $webApiAdapterCode=null, $storeCode=null, $integration=null)
static getObjectManager()