Skip to content

Commit 6cc2f3f

Browse files
authored
AC-9547: Improved message and provided doc link in cache key provider not configured message
1 parent 7f58418 commit 6cc2f3f

File tree

2 files changed

+16
-2
lines changed
  • app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/CacheKey/Calculator
  • dev/tests/integration/testsuite/Magento/GraphQlResolverCache/Model/Resolver/Result/Cache/KeyCalculator

2 files changed

+16
-2
lines changed

app/code/Magento/GraphQlResolverCache/Model/Resolver/Result/CacheKey/Calculator/Provider.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ class Provider implements ProviderInterface
2626
*/
2727
private array $keyCalculatorInstances = [];
2828

29+
/**
30+
* Dev docs link
31+
*/
32+
private const DEV_DOCS = "https://developer.adobe.com/commerce/webapi/graphql/develop";
33+
2934
/**
3035
* @var ObjectManagerInterface
3136
*/
@@ -58,8 +63,10 @@ private function initForResolver(ResolverInterface $resolver): void
5863
}
5964
$factorProviders = $this->getFactorProvidersForResolver($resolver);
6065
if ($factorProviders === null) {
66+
$devDocs = self::DEV_DOCS;
6167
throw new \InvalidArgumentException(
62-
"GraphQL Resolver Cache key factors are not determined for {$resolverClass} or its parents."
68+
"GraphQL Resolver Cache key factors are not determined for {$resolverClass} or its parents. " .
69+
"See {$devDocs} for information about configuring cache key factors for a resolver."
6370
);
6471
} else {
6572
$runtimePoolKey = $this->generateKeyFromFactorProviders($factorProviders);

dev/tests/integration/testsuite/Magento/GraphQlResolverCache/Model/Resolver/Result/Cache/KeyCalculator/ProviderTest.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ class ProviderTest extends \PHPUnit\Framework\TestCase
3636
*/
3737
private $provider;
3838

39+
/**
40+
* Dev docs link
41+
*/
42+
private const DEV_DOCS = "https://developer.adobe.com/commerce/webapi/graphql/develop";
43+
3944
/**
4045
* @inheritdoc
4146
*/
@@ -60,8 +65,10 @@ public function testProviderNotConfigured()
6065
->getMock();
6166
$this->expectException(\InvalidArgumentException::class);
6267
$resolverClass = get_class($resolver);
68+
$devDocs = self::DEV_DOCS;
6369
$this->expectExceptionMessage(
64-
"GraphQL Resolver Cache key factors are not determined for {$resolverClass} or its parents."
70+
"GraphQL Resolver Cache key factors are not determined for {$resolverClass} or its parents. " .
71+
"See {$devDocs} for information about configuring cache key factors for a resolver."
6572
);
6673
$this->provider->getKeyCalculatorForResolver($resolver);
6774
}

0 commit comments

Comments
 (0)