Skip to content

Commit ee21c34

Browse files
committed
Always get a fresh AppInstance instance when testing topic subscriptions
1 parent 608887d commit ee21c34

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

tests/Integration/Messaging/AppInstanceTest.php

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Kreait\Firebase\Tests\Integration\Messaging;
66

77
use Kreait\Firebase\Contract\Messaging;
8+
use Kreait\Firebase\Messaging\AppInstance;
89
use Kreait\Firebase\Messaging\RegistrationToken;
910
use Kreait\Firebase\Tests\IntegrationTestCase;
1011
use PHPUnit\Framework\Attributes\Test;
@@ -37,18 +38,28 @@ public function itIsSubscribedToTopics(): void
3738
$this->messaging->subscribeToTopic($secondTopic, RegistrationToken::fromValue($token)); // Lazy registration token test
3839
$this->messaging->subscribeToTopic($thirdTopic, $token);
3940

40-
$instance = $this->messaging->getAppInstance($token);
41-
42-
$this->assertTrue($instance->isSubscribedToTopic($firstTopic));
43-
$this->assertTrue($instance->isSubscribedToTopic($secondTopic));
41+
$this->assertTrue($this->appInstance($token)->isSubscribedToTopic($firstTopic));
42+
$this->assertTrue($this->appInstance($token)->isSubscribedToTopic($secondTopic));
43+
$this->assertTrue($this->appInstance($token)->isSubscribedToTopic($thirdTopic));
4444

4545
$this->messaging->unsubscribeFromTopic($firstTopic, $token);
46+
$this->assertFalse($this->appInstance($token)->isSubscribedToTopic($firstTopic));
47+
$this->assertTrue($this->appInstance($token)->isSubscribedToTopic($secondTopic));
48+
$this->assertTrue($this->appInstance($token)->isSubscribedToTopic($thirdTopic));
49+
4650
$this->messaging->unsubscribeFromTopic($secondTopic, $token);
47-
$this->messaging->unsubscribeFromAllTopics($token);
51+
$this->assertFalse($this->appInstance($token)->isSubscribedToTopic($secondTopic));
52+
$this->assertTrue($this->appInstance($token)->isSubscribedToTopic($thirdTopic));
4853

49-
$instance = $this->messaging->getAppInstance($token);
54+
$this->messaging->unsubscribeFromAllTopics($token);
55+
$this->assertFalse($this->appInstance($token)->isSubscribedToTopic($thirdTopic));
56+
}
5057

51-
$this->assertFalse($instance->isSubscribedToTopic($firstTopic));
52-
$this->assertFalse($instance->isSubscribedToTopic($secondTopic));
58+
/**
59+
* @param non-empty-string $registrationToken
60+
*/
61+
private function appInstance(string $registrationToken): AppInstance
62+
{
63+
return $this->messaging->getAppInstance($registrationToken);
5364
}
5465
}

0 commit comments

Comments
 (0)