Skip to content

Commit 9877015

Browse files
committed
Add test for ColumnsSelected Event dispatch
1 parent 2ea9010 commit 9877015

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

tests/Unit/Traits/Helpers/ColumnSelectHelpersTest.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
namespace Rappasoft\LaravelLivewireTables\Tests\Unit\Traits\Helpers;
44

5+
6+
use Illuminate\Support\Facades\Event;
7+
use Rappasoft\LaravelLivewireTables\Events\ColumnsSelected;
58
use Rappasoft\LaravelLivewireTables\Tests\TestCase;
9+
use Rappasoft\LaravelLivewireTables\Tests\Http\Livewire\PetsTable;
610

711
final class ColumnSelectHelpersTest extends TestCase
812
{
@@ -103,4 +107,42 @@ public function test_get_currently_selected_cols_works(): void
103107
$this->assertSame(8, count($this->basicTable->getDefaultVisibleColumns()));
104108

105109
}
110+
111+
public function test_event_fires_for_columnselect(): void
112+
{
113+
Event::fake();
114+
115+
$testTable = new class extends PetsTable
116+
{
117+
public function configure(): void
118+
{
119+
parent::configure();
120+
}
121+
};
122+
$testTable->configure();
123+
$testTable->boot();
124+
$testTable->bootedComponentUtilities();
125+
$testTable->bootedWithData();
126+
$testTable->bootedWithColumns();
127+
$testTable->bootedWithColumnSelect();
128+
$testTable->bootedWithSecondaryHeader();
129+
$testTable->booted();
130+
131+
$this->assertSame(['id', 'sort', 'name', 'age', 'breed', 'other', 'link', 'rowimg'], $testTable->selectedColumns);
132+
133+
$testTable->disableColumnSelectEvent();
134+
$testTable->selectedColumns = ['id', 'sort', 'name', 'age', 'breed', 'other', 'rowimg'];
135+
$this->assertSame(['id', 'sort', 'name', 'age', 'breed', 'other', 'rowimg'], $testTable->selectedColumns);
136+
$testTable->updatedSelectedColumns();
137+
Event::assertNotDispatched(ColumnsSelected::class);
138+
139+
$testTable->enableColumnSelectEvent();
140+
141+
$testTable->selectedColumns = ['id', 'sort', 'name', 'age', 'breed', 'other', 'link', 'rowimg'];
142+
$this->assertSame(['id', 'sort', 'name', 'age', 'breed', 'other', 'link', 'rowimg'], $testTable->selectedColumns);
143+
$testTable->updatedSelectedColumns();
144+
Event::assertDispatched(ColumnsSelected::class);
145+
146+
}
147+
106148
}

0 commit comments

Comments
 (0)