|
1 | 1 | <?php |
2 | 2 |
|
3 | 3 | use Filament\Tables\Grouping\Group; |
| 4 | +use Filament\Tests\Fixtures\Livewire\DefaultGroupedPostsTable; |
4 | 5 | use Filament\Tests\Fixtures\Livewire\GroupedCustomDataTable; |
5 | 6 | use Filament\Tests\Fixtures\Livewire\PostsTable; |
6 | 7 | use Filament\Tests\Fixtures\Livewire\PostsTableWithoutSummarizers; |
|
55 | 56 | }); |
56 | 57 | }); |
57 | 58 |
|
| 59 | +it('can group records by a default group in descending order', function (): void { |
| 60 | + Post::factory()->create(['title' => 'Apple Post']); |
| 61 | + Post::factory()->create(['title' => 'Cherry Post']); |
| 62 | + Post::factory()->create(['title' => 'Banana Post']); |
| 63 | + |
| 64 | + $sortedPosts = Post::query()->orderByDesc('title')->orderBy('id')->get(); |
| 65 | + |
| 66 | + livewire(DefaultGroupedPostsTable::class) |
| 67 | + ->assertSet('tableGrouping', 'title:desc') |
| 68 | + ->assertCanSeeTableRecords($sortedPosts, inOrder: true); |
| 69 | +}); |
| 70 | + |
| 71 | +it('can set a `defaultGroup()` direction and get with `getDefaultGroupDirection()`', function (): void { |
| 72 | + $livewire = livewire(PostsTable::class)->instance(); |
| 73 | + $table = $livewire->getTable(); |
| 74 | + |
| 75 | + expect($table->defaultGroup('title', 'DESC')->getDefaultGroupDirection())->toBe('desc'); |
| 76 | +}); |
| 77 | + |
| 78 | +it('defaults the `defaultGroup()` direction to ascending', function (): void { |
| 79 | + $livewire = livewire(PostsTable::class)->instance(); |
| 80 | + $table = $livewire->getTable(); |
| 81 | + |
| 82 | + expect($table->defaultGroup('title')->getDefaultGroupDirection())->toBe('asc'); |
| 83 | +}); |
| 84 | + |
58 | 85 | it('can group records by column', function (): void { |
59 | 86 | // Create posts with different titles to group by |
60 | 87 | Post::factory()->create(['title' => 'Apple Post']); |
|
0 commit comments