diff --git a/dev/tests/api-functional/testsuite/Magento/GraphQl/UrlRewrite/UrlResolverTest.php b/dev/tests/api-functional/testsuite/Magento/GraphQl/UrlRewrite/UrlResolverTest.php index cce26e145e454..8eaf33483531d 100644 --- a/dev/tests/api-functional/testsuite/Magento/GraphQl/UrlRewrite/UrlResolverTest.php +++ b/dev/tests/api-functional/testsuite/Magento/GraphQl/UrlRewrite/UrlResolverTest.php @@ -394,4 +394,30 @@ public function testGetNonExistentUrlRewrite() $this->assertEquals('PRODUCT', $response['urlResolver']['type']); $this->assertEquals($targetPath, $response['urlResolver']['relative_url']); } + + /** + * Test for custom type which point to the invalid product/category/cms page. + * + * @magentoApiDataFixture Magento/UrlRewrite/_files/url_rewrite_not_existing_entity.php + */ + public function testNonExistentEntityUrlRewrite() + { + $urlPath = 'non-exist-entity.html'; + + $query = <<expectExceptionMessage( + "No such entity found with matching URL key: " . $urlPath + ); + $this->graphQlQuery($query); + } } diff --git a/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/url_rewrite_not_existing_entity.php b/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/url_rewrite_not_existing_entity.php new file mode 100644 index 0000000000000..052eac6f79d48 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/url_rewrite_not_existing_entity.php @@ -0,0 +1,25 @@ +create(UrlRewrite::class); +$urlRewrite->setEntityType('custom') + ->setRequestPath('non-exist-entity.html') + ->setTargetPath('catalog/product/view/id/' . $productId) + ->setRedirectType(0) + ->setStoreId(1) + ->setDescription(null) + ->setIsAutogenerated(0); + +$urlRewrite->save(); diff --git a/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/url_rewrite_not_existing_entity_rollback.php b/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/url_rewrite_not_existing_entity_rollback.php new file mode 100644 index 0000000000000..12cbd2c704bfb --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/url_rewrite_not_existing_entity_rollback.php @@ -0,0 +1,15 @@ +create(UrlRewrite::class); +$urlRewrite->load('non-exist-entity.html', 'request_path'); +$urlRewrite->delete();