blob: c63d5bb42bd85b90d1140174a33d841c286a426c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<?php
use Lightscale\LaralightTables\Support\SortDirections;
describe('SortDirections', function () {
it('converts the enum to a query builder direction', function () {
expect(SortDirections::value(SortDirection::Ascending))->toBe('asc');
expect(SortDirections::value(SortDirection::Descending))->toBe('desc');
});
it('resolves strings to the enum', function () {
expect(SortDirections::tryFrom('asc'))->toBe(SortDirection::Ascending);
expect(SortDirections::tryFrom('desc'))->toBe(SortDirection::Descending);
});
it('resolves strings case insensitively', function () {
expect(SortDirections::tryFrom('ASC'))->toBe(SortDirection::Ascending);
expect(SortDirections::tryFrom('Desc'))->toBe(SortDirection::Descending);
});
it('passes an enum straight through', function () {
expect(SortDirections::tryFrom(SortDirection::Descending))->toBe(SortDirection::Descending);
});
it('resolves null and unrecognised values to null', function () {
expect(SortDirections::tryFrom(null))->toBeNull();
expect(SortDirections::tryFrom(''))->toBeNull();
expect(SortDirections::tryFrom('nonsense'))->toBeNull();
});
});
|