Skip to content

Commit f62a8fb

Browse files
author
Prabhu Ram
committed
PWA-1720: Expose storefront properties of Catalog attributes
- Updated field names
1 parent 362e5c3 commit f62a8fb

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

app/code/Magento/EavGraphQl/Model/Resolver/CustomAttributeMetadata.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,10 @@ public function resolve(
109109
private function getStorefrontProperties(AttributeInterface $attribute)
110110
{
111111
return [
112-
'use_in_search' => $attribute->getIsSearchable(),
113112
'position'=> $attribute->getPosition(),
114-
'visible_on_catalog_storefront'=> $attribute->getIsVisibleOnFront(),
113+
'visible_on_catalog_pages'=> $attribute->getIsVisibleOnFront(),
115114
'use_in_search_results_layered_navigation' => $attribute->getIsFilterableInSearch(),
116-
'used_in_product_listing'=> $attribute->getUsedInProductListing(),
115+
'use_in_product_listing'=> $attribute->getUsedInProductListing(),
117116
'use_in_layered_navigation'=>
118117
$this->getLayeredNavigationPropertiesEnum()[$attribute->getisFilterable()] ?? null
119118
];

app/code/Magento/EavGraphQl/etc/schema.graphqls

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@ type Attribute @doc(description: "Attribute contains the attribute_type of the s
1919
}
2020

2121
type StorefrontProperties {
22-
used_in_product_listing: Boolean
23-
use_in_search: Boolean
22+
use_in_product_listing: Boolean
2423
position: Int
25-
visible_on_catalog_storefront: Boolean
24+
visible_on_catalog_pages: Boolean
2625
use_in_layered_navigation: UseInLayeredNavigationOptions
2726
use_in_search_results_layered_navigation: Boolean
2827
}

dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/ProductAttributeOptionsTest.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,10 @@ public function testCustomAttributeMetadataOptions()
121121
input_type
122122
storefront_properties {
123123
position
124-
use_in_search
125-
used_in_product_listing
124+
use_in_product_listing
126125
use_in_layered_navigation
127126
use_in_search_results_layered_navigation
128-
visible_on_catalog_storefront
127+
visible_on_catalog_pages
129128
}
130129
}
131130
}
@@ -137,11 +136,10 @@ public function testCustomAttributeMetadataOptions()
137136
$actualStorefrontPropery = $response['customAttributeMetadata']['items'][0]['storefront_properties'];
138137
$expectedStorefrontProperties = [
139138
'position' => 0,
140-
'use_in_search' => false,
141-
'used_in_product_listing' => true,
139+
'use_in_product_listing' => true,
142140
'use_in_layered_navigation' => 'NO',
143141
'use_in_search_results_layered_navigation' => false,
144-
'visible_on_catalog_storefront' => true
142+
'visible_on_catalog_pages' => true
145143
];
146144
$this->assertEquals($expectedStorefrontProperties, $actualStorefrontPropery);
147145
}

dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/ProductAttributeTypeTest.php

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,10 @@ public function testComplexAttributeTypeResolver()
127127
entity_type
128128
input_type
129129
storefront_properties {
130-
use_in_search
131-
used_in_product_listing
130+
use_in_product_listing
132131
use_in_layered_navigation
133132
use_in_search_results_layered_navigation
134-
visible_on_catalog_storefront
133+
visible_on_catalog_pages
135134
}
136135
}
137136
}
@@ -174,7 +173,13 @@ public function testComplexAttributeTypeResolver()
174173
'text',
175174
'gallery'
176175
];
177-
$this->assertComplexAttributeType($attributeTypes, $expectedAttributeCodes, $entityTypes, $inputTypes, $response);
176+
$this->assertComplexAttributeType(
177+
$attributeTypes,
178+
$expectedAttributeCodes,
179+
$entityTypes,
180+
$inputTypes,
181+
$response
182+
);
178183
}
179184

180185
/**
@@ -247,7 +252,8 @@ private function assertComplexAttributeType(
247252
$attributeMetaDataItems = array_map(null, $actualResponse['customAttributeMetadata']['items'], $attributeTypes);
248253

249254
foreach ($attributeMetaDataItems as $itemIndex => $itemArray) {
250-
if($itemArray[0]['entity_type'] === 'catalog_category' || $itemArray[0]['entity_type'] ==='catalog_product') {
255+
if ($itemArray[0]['entity_type'] === 'catalog_category'
256+
|| $itemArray[0]['entity_type'] ==='catalog_product') {
251257
$this->assertResponseFields(
252258
$attributeMetaDataItems[$itemIndex][0],
253259
[
@@ -256,19 +262,17 @@ private function assertComplexAttributeType(
256262
"entity_type" => $entityTypes[$itemIndex],
257263
"input_type" => $inputTypes[$itemIndex],
258264
"storefront_properties" => [
259-
'use_in_search' => false,
260-
'used_in_product_listing' => false,
265+
'use_in_product_listing' => false,
261266
'use_in_layered_navigation' => 'NO',
262267
'use_in_search_results_layered_navigation' => false,
263-
'visible_on_catalog_storefront' => false,
268+
'visible_on_catalog_pages' => false,
264269
]
265270
]
266271
);
267-
}
268-
else {
272+
} else {
269273
$this->assertNotEmpty($attributeMetaDataItems[$itemIndex][0]['storefront_properties']);
270274
// 5 fields are present
271-
$this->assertCount(5, $attributeMetaDataItems[$itemIndex][0]['storefront_properties']);
275+
$this->assertCount(4, $attributeMetaDataItems[$itemIndex][0]['storefront_properties']);
272276
unset($attributeMetaDataItems[$itemIndex][0]['storefront_properties']);
273277
$this->assertResponseFields(
274278
$attributeMetaDataItems[$itemIndex][0],

0 commit comments

Comments
 (0)