95 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace LaravelFCM\Mocks;
 | |
| 
 | |
| use LaravelFCM\Response\TopicResponseContract;
 | |
| 
 | |
| /**
 | |
|  * Class MockTopicResponse **Only use it for testing**.
 | |
|  */
 | |
| class MockTopicResponse implements TopicResponseContract
 | |
| {
 | |
|     /**
 | |
|      * @internal
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $topic;
 | |
| 
 | |
|     /**
 | |
|      * @internal
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $messageId;
 | |
| 
 | |
|     /**
 | |
|      * @internal
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $error;
 | |
| 
 | |
|     /**
 | |
|      * @internal
 | |
|      *
 | |
|      * @var bool
 | |
|      */
 | |
|     protected $needRetry = false;
 | |
| 
 | |
|     /**
 | |
|      * if success set a message id.
 | |
|      *
 | |
|      * @param $messageId
 | |
|      * @return MockTopicResponse
 | |
|      */
 | |
|     public function setSuccess($messageId)
 | |
|     {
 | |
|         $this->messageId = $messageId;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * true if topic sent with success.
 | |
|      *
 | |
|      * @return bool
 | |
|      */
 | |
|     public function isSuccess()
 | |
|     {
 | |
|         return  (bool) $this->messageId;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * set error.
 | |
|      *
 | |
|      * @param $error
 | |
|      * @return MockTopicResponse
 | |
|      */
 | |
|     public function setError($error)
 | |
|     {
 | |
|         $this->error = $error;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * return error message
 | |
|      * you should test if it's necessary to resent it.
 | |
|      *
 | |
|      * @return string error
 | |
|      */
 | |
|     public function error()
 | |
|     {
 | |
|         return $this->error;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * return true if it's necessary resent it using exponential backoff.
 | |
|      *
 | |
|      * @return bool
 | |
|      */
 | |
|     public function shouldRetry()
 | |
|     {
 | |
|         return (bool) $this->error;
 | |
|     }
 | |
| }
 | 
