65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use GuzzleHttp\Psr7\Response;
 | |
| use LaravelFCM\Response\TopicResponse;
 | |
| 
 | |
| class TopicsResponseTest extends FCMTestCase
 | |
| {
 | |
|     /**
 | |
|      * @test
 | |
|      */
 | |
|     public function it_construct_a_topic_response_with_success()
 | |
|     {
 | |
|         $topic = new \LaravelFCM\Message\Topics();
 | |
|         $topic->topic('topicName');
 | |
| 
 | |
|         $response = new Response(200, [], '{ 
 | |
| 				"message_id": "1234"
 | |
| 		}');
 | |
| 
 | |
|         $topicResponse = new TopicResponse($response, $topic);
 | |
| 
 | |
|         $this->assertTrue($topicResponse->isSuccess());
 | |
|         $this->assertFalse($topicResponse->shouldRetry());
 | |
|         $this->assertNull($topicResponse->error());
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @test
 | |
|      */
 | |
|     public function it_construct_a_topic_response_with_error()
 | |
|     {
 | |
|         $topic = new \LaravelFCM\Message\Topics();
 | |
|         $topic->topic('topicName');
 | |
| 
 | |
|         $response = new Response(200, [], '{ 
 | |
| 				"error": "MessageTooBig"
 | |
| 		}');
 | |
| 
 | |
|         $topicResponse = new TopicResponse($response, $topic);
 | |
| 
 | |
|         $this->assertFalse($topicResponse->isSuccess());
 | |
|         $this->assertFalse($topicResponse->shouldRetry());
 | |
|         $this->assertEquals('MessageTooBig', $topicResponse->error());
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @test
 | |
|      */
 | |
|     public function it_construct_a_topic_response_with_error_and_it_should_retry()
 | |
|     {
 | |
|         $topic = new \LaravelFCM\Message\Topics();
 | |
|         $topic->topic('topicName');
 | |
| 
 | |
|         $response = new Response(200, [], '{ 
 | |
| 				"error": "TopicsMessageRateExceeded"
 | |
| 		}');
 | |
| 
 | |
|         $topicResponse = new TopicResponse($response, $topic);
 | |
| 
 | |
|         $this->assertFalse($topicResponse->isSuccess());
 | |
|         $this->assertTrue($topicResponse->shouldRetry());
 | |
|         $this->assertEquals('TopicsMessageRateExceeded', $topicResponse->error());
 | |
|     }
 | |
| }
 | 
