Skip to content

Commit 9cac7d3

Browse files
committed
test for ascending sort
1 parent 02bf2f7 commit 9cac7d3

File tree

1 file changed

+43
-10
lines changed

1 file changed

+43
-10
lines changed

tests/DatatableTest.php

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@
794794

795795
})->throws(\HamidRrj\LaravelDatatable\Exceptions\InvalidSortingException::class, "sorting field `name` is not allowed.");
796796

797-
it('can get data with descending sort on id', function (){
797+
it('can get data with descending sort on age', function (){
798798

799799
$users = User::factory()
800800
->count(6)
@@ -808,13 +808,13 @@
808808
'filters' => json_encode([]),
809809
'sorting' => json_encode([
810810
[
811-
'id' => 'id',
811+
'id' => 'age',
812812
'desc' => true,
813813
]
814814
])
815815
];
816816

817-
$allowedSortings = array('id');
817+
$allowedSortings = array('age');
818818

819819
$data = DatatableFacade::run(
820820
$query,
@@ -823,15 +823,48 @@
823823
);
824824

825825
$expected = $users->toArray();
826-
array_multisort( array_column($expected, "id"), SORT_DESC, $expected);
826+
array_multisort( array_column($expected, "age"), SORT_DESC, $expected);
827+
828+
expect($data['data'])
829+
->toEqual($expected);
830+
831+
expect($data['meta']['totalRowCount'])
832+
->toBe(6);
833+
});
827834

828-
expect($data)
829-
->toEqual([
830-
'data' => $expected,
831-
'meta' => [
832-
'totalRowCount' => 6
835+
it('can get data with ascending sort on age', function (){
836+
837+
$users = User::factory()
838+
->count(6)
839+
->create();
840+
841+
$query = User::query();
842+
843+
$requestParameters = [
844+
'start' => 0,
845+
'size' => 10,
846+
'filters' => json_encode([]),
847+
'sorting' => json_encode([
848+
[
849+
'id' => 'age',
850+
'desc' => false,
833851
]
834-
]);
852+
])
853+
];
854+
855+
$allowedSortings = array('age');
856+
857+
$data = DatatableFacade::run(
858+
$query,
859+
$requestParameters,
860+
allowedSortings: $allowedSortings
861+
);
862+
863+
$expected = $users->toArray();
864+
array_multisort( array_column($expected, "age"), SORT_ASC, $expected);
865+
866+
expect($data['data'])
867+
->toEqual($expected);
835868

836869
expect($data['meta']['totalRowCount'])
837870
->toBe(6);

0 commit comments

Comments
 (0)