|
5 | 5 | namespace Kreait\Firebase\Tests\Integration\Messaging; |
6 | 6 |
|
7 | 7 | use Kreait\Firebase\Contract\Messaging; |
| 8 | +use Kreait\Firebase\Messaging\AppInstance; |
8 | 9 | use Kreait\Firebase\Messaging\RegistrationToken; |
9 | 10 | use Kreait\Firebase\Tests\IntegrationTestCase; |
10 | 11 | use PHPUnit\Framework\Attributes\Test; |
@@ -37,18 +38,28 @@ public function itIsSubscribedToTopics(): void |
37 | 38 | $this->messaging->subscribeToTopic($secondTopic, RegistrationToken::fromValue($token)); // Lazy registration token test |
38 | 39 | $this->messaging->subscribeToTopic($thirdTopic, $token); |
39 | 40 |
|
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)); |
44 | 44 |
|
45 | 45 | $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 | + |
46 | 50 | $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)); |
48 | 53 |
|
49 | | - $instance = $this->messaging->getAppInstance($token); |
| 54 | + $this->messaging->unsubscribeFromAllTopics($token); |
| 55 | + $this->assertFalse($this->appInstance($token)->isSubscribedToTopic($thirdTopic)); |
| 56 | + } |
50 | 57 |
|
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); |
53 | 64 | } |
54 | 65 | } |
0 commit comments