MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/artinside/www/lhh/vendor/pagarme/pagarme-php/tests/unit/ResponseHandlerTest.php
<?php

namespace PagarMe\Test;

use PagarMe\ResponseHandler;
use PHPUnit\Framework\TestCase;

class ResponseHandlerTest extends TestCase
{
    public function testReturnTypeOnSuccess()
    {
        $handler = new ResponseHandler();

        $response = $handler->success('{"foo": "bar"}');

        $this->assertInstanceOf(\stdClass::class, $response);
    }

    public function testReturnUsage()
    {
        $response = ResponseHandler::success('{"foo": "bar"}');

        $this->assertObjectHasAttribute('foo', $response);
        $this->assertEquals('bar', $response->foo);
    }

    public function testReturnListOfObjects()
    {
        $response = ResponseHandler::success('[{"foo": "bar"},{"bar": "baz"}]');

        $this->assertInternalType('array', $response, 'The list must be an array');
        $this->assertObjectHasAttribute('foo', $response[0], 'The first index must be an object');
        $this->assertEquals('bar', $response[0]->foo);
        $this->assertObjectHasAttribute('bar', $response[1], 'The second index must be an object');
        $this->assertEquals('baz', $response[1]->bar);
    }

    /**
     * @expectedException \PagarMe\Exceptions\InvalidJsonException
     */
    public function testUnparseablePayload()
    {
        $response = ResponseHandler::success('{"foo": "bar"');
    }
}