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/RoutesTest.php
<?php

namespace PagarMe\Test;

use PagarMe\Routes;
use PHPUnit\Framework\TestCase;

class RoutesTest extends TestCase
{
    /**
     * @param mixed $subject
     */
    public function assertIsCallable($subject)
    {
        $type = gettype($subject);

        self::assertThat(
            is_callable($subject),
            self::isTrue(),
            "Failed asserting that subject of type $type can be called/invoked as a function/method."
        );
    }

    public function testTransactionRoutes()
    {
        $routes = Routes::transactions();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
        $this->assertObjectHasAttribute('capture', $routes);
        $this->assertIsCallable($routes->capture);
        $this->assertobjecthasattribute('refund', $routes);
        $this->assertiscallable($routes->refund);
        $this->assertobjecthasattribute('payables', $routes);
        $this->assertiscallable($routes->payables);
        $this->assertobjecthasattribute('payablesDetails', $routes);
        $this->assertiscallable($routes->payablesDetails);
        $this->assertobjecthasattribute('operations', $routes);
        $this->assertiscallable($routes->operations);
        $this->assertobjecthasattribute('collectPayment', $routes);
        $this->assertiscallable($routes->collectPayment);
        $this->assertobjecthasattribute('events', $routes);
        $this->assertiscallable($routes->events);
        $this->assertobjecthasattribute('calculateInstallments', $routes);
        $this->assertiscallable($routes->calculateInstallments);
    }

    public function testCustomerRoutes()
    {
        $routes = Routes::customers();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
    }

    public function testCardRoutes()
    {
        $routes = Routes::cards();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
    }

    public function testBankAccountRoutes()
    {
        $routes = Routes::bankAccounts();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
    }

    public function testPlansRoutes()
    {
        $routes = Routes::plans();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
    }

    public function testBulkAnticipationsRoutes()
    {
        $routes = Routes::bulkAnticipations();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('limits', $routes);
        $this->assertIsCallable($routes->limits);
        $this->assertObjectHasAttribute('confirm', $routes);
        $this->assertIsCallable($routes->confirm);
        $this->assertObjectHasAttribute('cancel', $routes);
        $this->assertIsCallable($routes->cancel);
        $this->assertObjectHasAttribute('delete', $routes);
    }

    public function testPaymentLinksRoutes()
    {
        $routes = Routes::paymentLinks();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
        $this->assertObjectHasAttribute('cancel', $routes);
        $this->assertIsCallable($routes->cancel);
    }

    public function testTransfersRoutes()
    {
        $routes = Routes::transfers();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
        $this->assertObjectHasAttribute('cancel', $routes);
        $this->assertIsCallable($routes->cancel);
    }

    public function testRecipientRoutes()
    {
        $routes = Routes::recipients();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
        $this->assertObjectHasAttribute('balance', $routes);
        $this->assertIsCallable($routes->balance);
        $this->assertObjectHasAttribute('balanceOperations', $routes);
        $this->assertIsCallable($routes->balanceOperations);
        $this->assertObjectHasAttribute('balanceOperation', $routes);
        $this->assertIsCallable($routes->balanceOperation);
    }

    public function testSubscriptionRoutes()
    {
        $routes = Routes::subscriptions();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
        $this->assertObjectHasAttribute('cancel', $routes);
        $this->assertIsCallable($routes->cancel);
        $this->assertObjectHasAttribute('transactions', $routes);
        $this->assertIsCallable($routes->transactions);
        $this->assertObjectHasAttribute('settleCharges', $routes);
        $this->assertIsCallable($routes->settleCharges);
    }

    public function testRefundsRoute()
    {
        $routes = Routes::refunds();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
    }

    public function testBalanceRoutes()
    {
        $routes = Routes::balances();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
    }

    public function testPostbackRoutes()
    {
        $routes = Routes::postbacks();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
        $this->assertObjectHasAttribute('redeliver', $routes);
        $this->assertIsCallable($routes->redeliver);
    }

    public function testPayableRoutes()
    {
        $routes = Routes::payables();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
    }

    public function testBalanceOperationsRoutes()
    {
        $routes = Routes::balanceOperations();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
        $this->assertObjectHasAttribute('details', $routes);
        $this->assertIsCallable($routes->details);
    }

    public function testChargebacksRoute()
    {
        $routes = Routes::chargebacks();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
    }

    public function testSearchRoute()
    {
        $routes = Routes::search();

        $this->assertObjectHasAttribute('base', $routes);
        $this->assertIsCallable($routes->base);
    }
}