Skip to content

Commit 60e0526

Browse files
committed
ACPT-1469: Resolve failures in GraphQlStateTest.php
1 parent 0a2d0a1 commit 60e0526

File tree

3 files changed

+146
-7
lines changed

3 files changed

+146
-7
lines changed

dev/tests/integration/testsuite/Magento/GraphQl/App/GraphQlStateTest.php

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ protected function setUp(): void
6262
* @return void
6363
* @throws \Exception
6464
*/
65-
public function testState(string $query, array $variables, string $operationName, string $expected): void
65+
public function testState(string $query, array $variables, array $variables2, string $operationName, string $expected): void
6666
{
6767
$jsonEncodedRequest = json_encode([
6868
'query' => $query,
@@ -71,9 +71,15 @@ public function testState(string $query, array $variables, string $operationName
7171
]);
7272
$output1 = $this->request($jsonEncodedRequest, $operationName, true);
7373
$this->assertStringContainsString($expected, $output1);
74+
if ($variables2) {
75+
$jsonEncodedRequest = json_encode([
76+
'query' => $query,
77+
'variables' => $variables2,
78+
'operationName' => $operationName
79+
]);
80+
}
7481
$output2 = $this->request($jsonEncodedRequest, $operationName);
7582
$this->assertStringContainsString($expected, $output2);
76-
$this->assertEquals($output1, $output2);
7783
}
7884

7985
/**
@@ -162,6 +168,7 @@ public function queryDataProvider(): array
162168
}
163169
QUERY,
164170
['id' => 4],
171+
[],
165172
'navigationMenu',
166173
'"id":4,"name":"Category 1.1","product_count":2,'
167174
],
@@ -211,6 +218,7 @@ public function queryDataProvider(): array
211218
}
212219
QUERY,
213220
['name' => 'Configurable%20Product', 'onServer' => false],
221+
[],
214222
'productDetailByName',
215223
'"sku":"configurable","name":"Configurable Product"'
216224
],
@@ -259,6 +267,7 @@ public function queryDataProvider(): array
259267
}
260268
QUERY,
261269
['id' => 4, 'currentPage' => 1, 'pageSize' => 12],
270+
[],
262271
'category',
263272
'"url_key":"category-1-1","name":"Category 1.1"'
264273
],
@@ -322,6 +331,7 @@ public function queryDataProvider(): array
322331
}
323332
QUERY,
324333
['name' => 'Simple Product1', 'onServer' => false],
334+
[],
325335
'productDetail',
326336
'"sku":"simple1","name":"Simple Product1"'
327337
],
@@ -335,6 +345,7 @@ public function queryDataProvider(): array
335345
}
336346
QUERY,
337347
['urlKey' => 'no-route'],
348+
[],
338349
'resolveUrl',
339350
'"type":"CMS_PAGE","id":1'
340351
],
@@ -347,21 +358,22 @@ public function queryDataProvider(): array
347358
}
348359
QUERY,
349360
[],
361+
[],
350362
'isCompanyAdminEmailAvailable',
351363
'isCompanyAdminEmailAvailable'
352364
],
353365
'Create Company' => [
354366
<<<'QUERY'
355-
mutation {
367+
mutation($name: String!, $email: String!) {
356368
createCompany(
357369
input: {
358-
company_name: "Company"
359-
company_email: "email@magento.com"
370+
company_name: $name
371+
company_email: $email
360372
legal_name: "Legalname"
361373
vat_tax_id: "12345"
362374
reseller_id: "123"
363375
company_admin: {
364-
email: "admin@magento.com"
376+
email: $email
365377
firstname: "Company"
366378
lastname: "Admin"
367379
gender: 1
@@ -386,7 +398,8 @@ public function queryDataProvider(): array
386398
}
387399
}
388400
QUERY,
389-
[],
401+
['name' => 'Company1', 'email' => 'email1@magento.com'],
402+
['name' => 'Company2', 'email' => 'email2@magento.com'],
390403
'createCompany',
391404
'"email":"'
392405
],
@@ -399,6 +412,7 @@ public function queryDataProvider(): array
399412
}
400413
QUERY,
401414
[],
415+
[],
402416
'isCompanyUserEmailAvailable',
403417
'is_email_available'
404418

@@ -412,6 +426,7 @@ public function queryDataProvider(): array
412426
}
413427
QUERY,
414428
[],
429+
[],
415430
'isCompanyEmailAvailable',
416431
'is_email_available'
417432

dev/tests/integration/testsuite/Magento/GraphQl/App/State/Collector.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ public function getPropertiesFromObject(object $object, $doClone = false, &$didC
8888
foreach ($objReflection->getProperties() as $property) {
8989
$propName = $property->getName();
9090
$property->setAccessible(true);
91+
if (!$property->isInitialized($object)) {
92+
continue;
93+
}
9194
$value = $property->getValue($object);
9295
if (!$doClone) {
9396
$properties[$propName] = $value;

dev/tests/integration/testsuite/Magento/GraphQl/_files/state-skip-list.php

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,127 @@
2828
],
2929
'resolveUrl' => [
3030
Magento\Framework\GraphQl\Query\Fields::class => null,
31+
],
32+
'isCompanyAdminEmailAvailable' => [
33+
Magento\Framework\MessageQueue\Code\Generator\Config\RemoteServiceReader\Communication::class => null,
34+
Magento\Framework\Webapi\ServiceInputProcessor::class => null,
35+
Magento\Framework\MessageQueue\Publisher\Config\RemoteService\Reader::class => null,
36+
Magento\Framework\Module\ModuleList::class => null,
37+
Magento\Framework\Module\Manager::class => null,
38+
],
39+
'isCompanyUserEmailAvailable' => [
40+
Magento\Framework\MessageQueue\Code\Generator\Config\RemoteServiceReader\Communication::class => null,
41+
Magento\Framework\Webapi\ServiceInputProcessor::class => null,
42+
Magento\Framework\MessageQueue\Publisher\Config\RemoteService\Reader::class => null,
43+
],
44+
'createCompany' => [
45+
Magento\Framework\Logger\LoggerProxy::class => null,
46+
Magento\Framework\Module\ModuleList::class => null,
47+
Magento\Framework\Module\Manager::class => null,
48+
Magento\Framework\View\Asset\PreProcessor\Helper\Sort::class => null,
49+
Magento\Framework\Url\QueryParamsResolver::class => null,
50+
Magento\Store\Model\Validation\StoreCodeValidator::class => null,
51+
Magento\Framework\Filter\FilterManager::class => null,
52+
Magento\Store\Model\Address\Renderer::class => null,
53+
Magento\Store\Model\Validation\StoreNameValidator::class => null,
54+
Magento\Store\Model\Validation\StoreValidator::class => null,
55+
Magento\Developer\Model\Logger\Handler\Debug::class => null,
56+
Magento\Framework\Logger\Monolog::class => null,
57+
Magento\Framework\MessageQueue\Code\Generator\Config\RemoteServiceReader\Communication::class => null,
58+
Magento\Framework\Webapi\ServiceInputProcessor::class => null,
59+
Magento\Framework\MessageQueue\Publisher\Config\RemoteService\Reader::class => null,
60+
Magento\Logging\Model\Handler\Controllers::class => null,
61+
Magento\Quote\Model\Quote\Item\CartItemProcessorsPool::class => null,
62+
Magento\Customer\Model\Session::class => null,
63+
Magento\Framework\App\Route\Config\Reader\Proxy::class => null,
64+
65+
Magento\Catalog\Helper\Product\Flat\Indexer::class => null,
66+
Magento\Catalog\Helper\Product::class => null,
67+
Magento\Framework\Translate\Inline::class => null,
68+
Magento\Customer\Model\CustomerRegistry::class => null,
69+
Magento\Customer\Model\ResourceModel\Address\Relation::class => null,
70+
Magento\Framework\Json\Helper\Data::class => null,
71+
Magento\Directory\Helper\Data::class => null,
72+
Magento\Customer\Model\ResourceModel\AddressRepository::class => null,
73+
Magento\Customer\Model\ResourceModel\CustomerRepository::class => null,
74+
Magento\Framework\Url\Helper\Data::class => null,
75+
Magento\Backend\Helper\Data::class => null,
76+
Magento\TestFramework\Mail\Template\TransportBuilderMock::class => null,
77+
Magento\Customer\Helper\View::class => null,
78+
Magento\Customer\Model\Customer::class => null,
79+
Magento\Customer\Model\Authentication::class => null,
80+
Magento\Framework\Validator\EmailAddress::class => null,
81+
Magento\Developer\Helper\Data::class => null,
82+
Magento\Company\Model\ResourceModel\Tree::class => null,
83+
Magento\Company\Model\StructureRepository::class => null,
84+
Magento\Company\Model\Company\Delete::class => null,
85+
Magento\CompanyGraphQl\Model\Company\ValidateCreateCompanyData::class => null,
86+
MagentoCompany\Model\Customer::class => null,
87+
Magento\Company\Model\Email\Transporter::class => null,
88+
Magento\Company\Api\CompanyRepositoryInterface\Proxy::class => null,
89+
Magento\Company\Model\Email\CustomerData::class => null,
90+
Magento\Company\Model\Email\Sender::class => null,
91+
Magento\Backend\Model\Url::class => null,
92+
Magento\CompanyGraphQl\Model\Company\CreateCompanyAccount::class => null,
93+
Magento\Company\Model\Role\Validator::class => null,
94+
Magento\Company\Model\CompanyAdminPermission::class => null,
95+
Magento\Company\Model\CompanyManagement::class => null,
96+
Magento\Company\Model\Customer\AttributesSaver::class => null,
97+
Magento\Company\Model\Customer\CompanyAttributes::class => null,
98+
Laminas\Validator\EmailAddress::class => null,
99+
Magento\Company\Model\Customer\ValidateCustomerEmailAddress::class => null,
100+
Magento\Company\Plugin\Customer\Api\CustomerRepository\Save::class => null,
101+
Magento\Framework\Pricing\Helper\Data::class => null,
102+
Magento\Catalog\Helper\Category::class => null,
103+
Magento\Catalog\Helper\Data::class => null,
104+
Magento\Company\Model\ResourceModel\Structure\Tree::class => null,
105+
Magento\Company\Model\Customer::class => null,
106+
Magento\Tax\Helper\Data::class => null,
107+
Magento\CustomerBalance\Helper\Data::class => null,
108+
Magento\GiftCardAccount\Helper\Data::class => null,
109+
Magento\Weee\Helper\Data::class => null,
110+
Magento\GiftWrapping\Helper\Data::class => null,
111+
Magento\Reward\Helper\Data::class => null,
112+
Magento\NegotiableQuote\Model\Restriction\Admin::class => null,
113+
Magento\NegotiableQuote\Model\Restriction\Customer::class => null,
114+
Magento\NegotiableQuote\Helper\Quote::class => null,
115+
Magento\Catalog\Helper\Product\Configuration::class => null,
116+
Magento\Bundle\Helper\Catalog\Product\Configuration::class => null,
117+
Magento\NegotiableQuote\Model\Email\LinkBuilder::class => null,
118+
Magento\NegotiableQuote\Model\Email\Sender::class => null,
119+
Magento\NegotiableQuote\Model\Purged\Extractor::class => null,
120+
Magento\Eav\Model\AttributeDataFactory::class => null,
121+
Magento\PageCache\Model\Cache\Server::class => null,
122+
Magento\SharedCatalog\Model\CompanyManagement::class => null,
123+
Magento\Company\Plugin\Customer\Api\CustomerRepository\Query::class => null,
124+
Magento\Logging\Helper\Data::class => null,
125+
Magento\Catalog\Helper\Product\Edit\Action\Attribute::class => null,
126+
Magento\Newsletter\Model\CustomerSubscriberCache::class => null,
127+
Magento\Newsletter\Model\SubscriptionManager::class => null,
128+
Magento\Newsletter\Model\Plugin\CustomerPlugin::class => null,
129+
Magento\Newsletter\Helper\Data::class => null,
130+
Magento\CustomerSegment\Model\Customer::class => null,
131+
Magento\CustomerSegment\Observer\ProcessCustomerEventObserver::class => null,
132+
Magento\Wishlist\Plugin\SaveWishlistDataAndAddReferenceKeyToBackUrl::class => null,
133+
Magento\Framework\View\Page\Config\Generator\Head::class => null,
134+
Magento\Store\Model\Argument\Interpreter\ServiceUrl::class => null,
135+
Magento\Framework\View\Layout\Argument\Interpreter\Url::class => null,
136+
Magento\Framework\Css\PreProcessor\Adapter\CssInliner::class => null,
137+
Magento\Company\Model\Action\Company\ReplaceSuperUser::class => null,
138+
Magento\Company\Model\CompanySuperUserSave::class => null,
139+
Magento\Company\Model\CompanyHierarchy::class => null,
140+
Magento\User\Helper\Data::class => null,
141+
Magento\User\Model\Notificator::class => null,
142+
Magento\CompanyCredit\Model\CreditLimitHistory::class => null,
143+
Magento\CompanyCredit\Model\CreditLimitRepository::class => null,
144+
Magento\CompanyCredit\Plugin\Company\Model\CompanyCreditCreatePlugin::class => null,
145+
Magento\CompanyCredit\Plugin\Company\Model\Customer\CompanyPlugin::class => null,
146+
147+
148+
149+
150+
151+
31152
],
32153
'*' => [
33154
Magento\TestFramework\Interception\PluginList::class => null,

0 commit comments

Comments
 (0)