Skip to content

Commit 371a408

Browse files
committed
feat(graphql): fixing mercure subscription failing tests
1 parent e764f2f commit 371a408

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/GraphQl/Subscription/SubscriptionManager.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function retrieveSubscriptionId(array $context, ?array $result, ?Operatio
5151
return null;
5252
}
5353

54-
$options = $operation->getMercure() ?? false;
54+
$options = $operation ? ($operation->getMercure() ?? false) : false;
5555
$private = $options['private'] ?? false;
5656
$privateFields = $options['private_fields'] ?? [];
5757
$previousObject = $context['graphql_context']['previous_object'] ?? null;
@@ -60,7 +60,7 @@ public function retrieveSubscriptionId(array $context, ?array $result, ?Operatio
6060
$fields['__private_field_'.$privateField] = $this->getResourceId($privateField, $previousObject);
6161
}
6262
}
63-
if ($operation->isCollection()) {
63+
if ($operation instanceof Subscription && $operation->isCollection()) {
6464
$subscriptionId = $this->updateSubscriptionCollectionCacheData(
6565
$iri,
6666
$fields,

src/GraphQl/Tests/Subscription/SubscriptionManagerTest.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ public function testGetPushPayloadsNoHit(): void
185185
$cacheItemProphecy->isHit()->willReturn(false);
186186
$this->subscriptionsCacheProphecy->getItem('_dummies_2')->willReturn($cacheItemProphecy->reveal());
187187

188-
$this->assertEquals([], $this->subscriptionManager->getPushPayloads($object));
188+
$this->assertEquals([], $this->subscriptionManager->getPushPayloads($object, 'update'));
189189
}
190190

191191
public function testGetPushPayloadsHit(): void
@@ -208,7 +208,7 @@ public function testGetPushPayloadsHit(): void
208208

209209
$this->normalizeProcessor->process(
210210
$object,
211-
(new Subscription())->withName('update_subscription')->withShortName('Dummy'),
211+
(new Subscription())->withName('mercure_subscription')->withShortName('Dummy'),
212212
[],
213213
['fields' => ['fieldsFoo'], 'is_collection' => false, 'is_mutation' => false, 'is_subscription' => true]
214214
)->willReturn(
@@ -217,13 +217,13 @@ public function testGetPushPayloadsHit(): void
217217

218218
$this->normalizeProcessor->process(
219219
$object,
220-
(new Subscription())->withName('update_subscription')->withShortName('Dummy'),
220+
(new Subscription())->withName('mercure_subscription')->withShortName('Dummy'),
221221
[],
222222
['fields' => ['fieldsBar'], 'is_collection' => false, 'is_mutation' => false, 'is_subscription' => true]
223223
)->willReturn(
224224
['resultBar', 'clientSubscriptionId' => 'client-subscription-id']
225225
);
226226

227-
$this->assertEquals([['subscriptionIdFoo', ['newResultFoo']]], $this->subscriptionManager->getPushPayloads($object));
227+
$this->assertEquals([['subscriptionIdFoo', ['newResultFoo']]], $this->subscriptionManager->getPushPayloads($object, 'update'));
228228
}
229229
}

src/Symfony/Tests/Doctrine/EventListener/PublishMercureUpdatesListenerTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ public function testPublishGraphQlUpdates(): void
327327
$graphQlSubscriptionManagerProphecy = $this->prophesize(GraphQlSubscriptionManagerInterface::class);
328328
$graphQlSubscriptionId = 'subscription-id';
329329
$graphQlSubscriptionData = ['data'];
330-
$graphQlSubscriptionManagerProphecy->getPushPayloads($toUpdate)->willReturn([[$graphQlSubscriptionId, $graphQlSubscriptionData]]);
330+
$graphQlSubscriptionManagerProphecy->getPushPayloads($toUpdate, 'update')->willReturn([[$graphQlSubscriptionId, $graphQlSubscriptionData]]);
331331
$graphQlMercureSubscriptionIriGenerator = $this->prophesize(GraphQlMercureSubscriptionIriGeneratorInterface::class);
332332
$topicIri = 'subscription-topic-iri';
333333
$graphQlMercureSubscriptionIriGenerator->generateTopicIri($graphQlSubscriptionId)->willReturn($topicIri);

0 commit comments

Comments
 (0)