MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/mpl.imenso.co/vendor/brozot/laravel-fcm/tests/TopicResponseTest.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());
    }
}