diff --git a/app/code/Magento/CatalogGraphQl/etc/schema.graphqls b/app/code/Magento/CatalogGraphQl/etc/schema.graphqls index 1098fa6f893c4..151b689d3b1cc 100644 --- a/app/code/Magento/CatalogGraphQl/etc/schema.graphqls +++ b/app/code/Magento/CatalogGraphQl/etc/schema.graphqls @@ -126,6 +126,8 @@ interface ProductInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\ canonical_url: String @doc(description: "The relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled.") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\CanonicalUrl") media_gallery: [MediaGalleryInterface] @doc(description: "An array of media gallery objects.") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\MediaGallery") custom_attributesV2(filters: AttributeFilterInput): ProductCustomAttributes @doc(description: "Product custom attributes.") @resolver(class: "Magento\\CatalogGraphQl\\Model\\Resolver\\Product\\ProductCustomAttributes") + has_options: Boolean @doc(description: "Indicates whether additional options have been created for the product.") + required_options: Boolean @doc(description: "Indicates whether the product has required options.") } interface PhysicalProductInterface @typeResolver(class: "Magento\\CatalogGraphQl\\Model\\ProductInterfaceTypeResolverComposite") @doc(description: "Contains attributes specific to tangible products.") { diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/ProductHasOptionsTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/ProductHasOptionsTest.php new file mode 100644 index 0000000000000..268f439697fd7 --- /dev/null +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/Catalog/ProductHasOptionsTest.php @@ -0,0 +1,47 @@ +graphQlQuery($query); + + $item = $response['products']['items'][0]; + $this->assertSame($productSku, $item['sku']); + $this->assertArrayHasKey('has_options', $item); + $this->assertArrayHasKey('required_options', $item); + $this->assertTrue($item['has_options']); + $this->assertTrue($item['required_options']); + } +}