!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/laravel-crm/vendor/konekt/enum-eloquent/tests/   drwxrwxrwx
Free 13.05 GB of 57.97 GB (22.51%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     EnumAccessorTest.php (4.47 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

declare(strict_types=1);

/**
 * Contains the EnumAccessorTest class.
 *
 * @copyright   Copyright (c) 2017 Attila Fulop
 * @author      Attila Fulop
 * @license     MIT
 * @since       2017-10-05
 *
 */

namespace Konekt\Enum\Eloquent\Tests;

use 
Konekt\Enum\Eloquent\Tests\Models\BillingRule;
use 
Konekt\Enum\Eloquent\Tests\Models\Client;
use 
Konekt\Enum\Eloquent\Tests\Models\Order;
use 
Konekt\Enum\Eloquent\Tests\Models\OrderStatus;
use 
Konekt\Enum\Eloquent\Tests\Models\OrderStatusV2;
use 
Konekt\Enum\Eloquent\Tests\Models\OrderStatusVX;
use 
Konekt\Enum\Eloquent\Tests\Models\OrderV2;
use 
Konekt\Enum\Eloquent\Tests\Models\OrderVX;

class 
EnumAccessorTest extends TestCase
{
    use 
DetectsEnumVersion;

    
/**
     * @test
     */
    
public function it_casts_marked_attributes_to_their_proper_enum_class()
    {
        
$order Order::create([
            
'number' => 'SXCJ7WA',
            
'status' => OrderStatus::SUBMITTED
        
]);

        
$this->assertNotNull($order->id);
        
$this->assertInstanceOf(OrderStatus::class, $order->status);
    }

    
/**
     * @test
     */
    
public function it_returns_the_enum_default_when_attribute_is_null()
    {
        
// don't test if mayor version is lower than 3
        
if ($this->getEnumVersionMajor() < 3) {
            
$this->assertTrue(true);

            return;
        }

        
$order = new Order([
            
'number' => 'PLGU7S5'
        
]);

        
$this->assertInstanceOf(OrderStatus::class, $order->status);
        
$this->assertEquals(OrderStatus::__DEFAULT$order->status->value());
    }

    
/**
     * @test
     */
    
public function it_returns_the_enum_v2_default_when_attribute_is_null()
    {
        
// don't test if mayor version is 3 or higher
        
if ($this->getEnumVersionMajor() >= 3) {
            
$this->assertTrue(true);

            return;
        }

        
$order = new OrderV2([
            
'number' => 'PLGU7S5'
        
]);

        
$this->assertInstanceOf(OrderStatusV2::class, $order->status);
        
$this->assertEquals(OrderStatusV2::__default$order->status->value());
    }

    
/**
     * @test
     */
    
public function it_returns_the_enum_backwards_compatible_default_when_attribute_is_null()
    {
        
$order = new OrderVX([
            
'number' => 'PLGU7S5'
        
]);

        
$this->assertInstanceOf(OrderStatusVX::class, $order->status);
        
$this->assertEquals(OrderStatusVX::__DEFAULT$order->status->value());
        
$this->assertEquals(OrderStatusVX::__default$order->status->value());
    }

    
/**
     * @test
     */
    
public function it_can_still_read_basic_properties_as_well()
    {
        
$order Order::create([
            
'number' => 'UIH6GQS',
            
'status' => OrderStatus::SUBMITTED
        
]);

        
$this->assertNotNull($order->id);
        
$this->assertEquals('UIH6GQS'$order->number);
    }

    
/**
     * @test
     */
    
public function it_can_still_read_casted_fields()
    {
        
$order Order::create([
            
'number' => 'KH8FRWAD',
            
'status' => OrderStatus::PROCESSING,
            
'is_active' => 1
        
]);

        
$this->assertNotNull($order->id);
        
$this->assertInstanceOf(\DateTime::class, $order->created_at);
        
$this->assertIsBool($order->is_active);
    }

    
/**
     * @test
     */
    
public function it_doesnt_break_related_properties()
    {
        
$client Client::create(['name' => 'Britney Spears']);

        
$order Order::create([
            
'number' => 'LDYG4G4',
            
'status' => OrderStatus::PROCESSING,
            
'client_id' => $client->id
        
]);

        
$this->assertInstanceOf(Client::class, $order->client);
        
$this->assertEquals($client->id$order->client->id);
    }

    
/** @test */
    
public function it_works_with_integer_database_fields()
    {
        
$clientAny Client::create(['name' => 'Pawel Jedrzejewsky']);
        
$clientInvoiceOnly Client::create(['name' => 'Pawel Jedrzejewsky''billing_rule' => 1]);
        
$clientNoInvoice Client::create(['name' => 'Pawel Jedrzejewsky''billing_rule' => 0]);

        
$this->assertInstanceOf(BillingRule::class, $clientAny->billing_rule);
        
$this->assertNull($clientAny->billing_rule->value());

        
$this->assertInstanceOf(BillingRule::class, $clientInvoiceOnly->billing_rule);
        
$this->assertEquals(1$clientInvoiceOnly->billing_rule->value());

        
$this->assertInstanceOf(BillingRule::class, $clientNoInvoice->billing_rule);
        
$this->assertEquals(0$clientNoInvoice->billing_rule->value());
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0066 ]--