HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: //home/armgroup/libs/vendor/shetabit/multipay/tests/Traits/DriverCommon.php
<?php


namespace Shetabit\Multipay\Tests\Traits;

use Carbon\Carbon;
use Shetabit\Multipay\RedirectionForm;

trait DriverCommon
{
    protected $driverInstance;
    protected $transactionId;

    public function setUp()
    {
        $this->driverInstance = $this->getDriverInstance();
        $this->transactionId = 'biSBUv86G';
    }

    /**
     * Test Purchase method.
     *
     * @throws \Exception
     */
    public function testPurchase()
    {
        $amount = 10000;
        $detailKey = 'foo';
        $detailValue = 'bar';

        $this
            ->driverInstance
            ->detail($detailKey, $detailValue)
            ->purchase($amount, function ($driver, $transactionId) {
                $this->assertEquals($this->amount, $driver->getInvoice()->getAmount());
                $this->assertEquals([$this->detailKey => $this->detailValue], $driver->getInvoice()->getDetails());
                $this->assertEquals($this->transactionId, $transactionId);
            });
    }

    /**
     * Test pay method.
     *
     * @throws \Exception
     */
    public function testPay()
    {
        $amount = 1000;

        $this
            ->driverInstance
            ->amount($amount)
            ->purchase();

        $this->assertInstanceOf(RedirectionForm::class, $this->driverInstance);
    }

    /**
     * Test Verify method
     *
     * @throws \Shetabit\Multipay\Exceptions\InvoiceNotFoundException
     */
    public function testVerify()
    {
        $amount = 1000;

        $receipt = $this
            ->driverInstance
            ->amount($amount)
            ->transactionId($this->transactionId)
            ->verify();

        $this->assertInstanceOf(Carbon::class, $receipt->getDate());
        $this->assertEquals("test", $receipt->getDriver());
        $this->assertEquals("122156415036", $receipt->getReferenceId());
    }
}