Skip to content

Commit

Permalink
LW3 - Test Adjustments, Store Sorts/Columns/Search
Browse files Browse the repository at this point in the history
  • Loading branch information
lrljoe committed Jul 21, 2023
1 parent d7ccabf commit 0d8d985
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 26 deletions.
2 changes: 1 addition & 1 deletion resources/lang/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@
"You are currently selecting all": "You are currently selecting all",
"You are not connected to the internet.": "You are not connected to the internet.",
"You have selected": "You have selected"
}
}
1 change: 0 additions & 1 deletion src/DataTableComponent.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ public function boot(): void
{
$this->{$this->tableName} = [
'filters' => $this->{$this->tableName}['filters'] ?? [],
'columns' => $this->{$this->tableName}['columns'] ?? [],
];

}
Expand Down
2 changes: 1 addition & 1 deletion src/Traits/Configuration/SearchConfiguration.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function setSearchEnabled(): self
public function setSearchDisabled(): self
{
$this->setSearchStatus(false);

$this->search = '';
return $this;
}

Expand Down
2 changes: 1 addition & 1 deletion src/Traits/Configuration/SortingConfiguration.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public function setSortingEnabled(): self
public function setSortingDisabled(): self
{
$this->setSortingStatus(false);

$this->sorts = [];
return $this;
}

Expand Down
6 changes: 6 additions & 0 deletions src/Traits/WithReordering.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ private function setReorderingBackup(): void

session([$this->getReorderingBackupSessionKey() => [
$this->getTableName() => $this->{$this->getTableName()},
'sorts' => $this->sorts,
'search' => $this->search,
'selectedColumns' => $this->selectedColumns,
'sortingPillsStatus' => $this->getSortingPillsStatus(),
'sortingStatus' => $this->getSortingStatus(),
'paginationStatus' => $this->getPaginationStatus(),
Expand All @@ -113,6 +116,9 @@ private function getReorderingBackup(): void
if (session()->has($this->getReorderingBackupSessionKey())) {
$save = session()->get($this->getReorderingBackupSessionKey());
$this->{$this->getTableName()} = $save[$this->getTableName()];
$this->sorts = $save['sorts'];
$this->search = $save['search'];
$this->selectedColumns = $save['selectedColumns'];
$this->setSortingPillsStatus($save['sortingPillsStatus']);
$this->setSortingStatus($save['sortingStatus']);
$this->setPaginationStatus($save['paginationStatus']);
Expand Down
2 changes: 1 addition & 1 deletion tests/Traits/Configuration/SearchConfigurationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class SearchConfigurationTest extends TestCase
/** @test */
public function can_set_default_search_term(): void
{
$this->assertNull($this->basicTable->getSearch());
$this->assertSame("",$this->basicTable->getSearch());

$this->basicTable->setSearch('Anthony');

Expand Down
4 changes: 2 additions & 2 deletions tests/Traits/Visuals/ComponentVisualsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ public function empty_message_does_not_show_with_results(): void
public function empty_message_shows_with_no_results(): void
{
Livewire::test(PetsTable::class)
->set('table.search', 'sdfsdfsdf')
->assertSee('No items found. Try to broaden your search.');
->set('search', 'sdfsdfsdfadsfasdfasdd')
->assertSee('No items found');
}

/** @test */
Expand Down
22 changes: 14 additions & 8 deletions tests/Traits/Visuals/ReorderingVisualsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ public function sorting_pills_hide_on_reorder(): void
->assertSet('sortingPillsStatus', false)
->assertDontSeeHtml('wire:key="sorting-pill-id"')
->call('disableReordering')
->call('sortBy', 'id')
->assertSet('sortingPillsStatus', true)
->assertSeeHtml('wire:key="sorting-pill-id"');
}
Expand All @@ -102,15 +103,18 @@ public function sorting_is_disabled_on_reorder(array $filterDefaultArray): void
->call('setReorderEnabled')
->assertSet('sortingStatus', true)
->call('sortBy', 'id')
->assertSet('table', ['sorts' => ['id' => 'asc'], 'filters' => $filterDefaultArray, 'columns' => []])
->assertSet('sorts', ['id' => 'asc'])
->assertSet('table', ['filters' => $filterDefaultArray])
->assertSeeHtml('wire:click="sortBy(\'id\')"')
->call('enableReordering')
->assertSet('sortingStatus', false)
->assertSet('table', [])
->assertDontSeeHtml('wire:click="sortBy(\'id\')"')
->call('disableReordering')
->assertSet('sortingStatus', true)
->assertSet('table', ['sorts' => ['id' => 'asc'], 'filters' => $filterDefaultArray, 'columns' => []])
->assertSet('table', ['filters' => $filterDefaultArray])
->assertSet('sorts', ['id' => 'asc'])

->assertSeeHtml('wire:click="sortBy(\'id\')"');
}

Expand Down Expand Up @@ -179,14 +183,14 @@ public function search_hides_on_reorder(array $filterDefaultArray): void
->call('setReorderEnabled')
->assertSet('searchStatus', true)
->assertSee('Search')
->set('table', ['search' => 'abc123'])
->set('search', 'abc123')
->call('enableReordering')
->assertSet('searchStatus', false)
->assertSet('table', [])
->assertSet('search', '')
->assertDontSee('Search')
->call('disableReordering')
->assertSet('searchStatus', true)
->assertSet('table', ['search' => 'abc123'])
->assertSet('search', 'abc123')
->assertSee('Search');
}

Expand All @@ -197,9 +201,11 @@ public function current_page_gets_reset_on_reorder(): void
->call('setReorderEnabled')
->call('setPerPageAccepted', [1])
->call('setPerPage', 1)
->set('page', 1)
->assertSet('page', 1)
->set('page', 3)
->call('enableReordering')
->set('page', 1)
->assertSet('page', 1);
// ->call('disableReordering') // TODO: Don't work
// ->assertSet('page', 3);
Expand Down Expand Up @@ -286,7 +292,7 @@ public function filters_are_disabled_on_reorder(array $filterDefaultArray): void
->call('setReorderEnabled')
->assertSet('filtersStatus', true)
->set('table.filters.breed', [1])
->assertSet('table', ['filters' => $customisedFilterArray, 'sorts' => [], 'columns' => []])
->assertSet('table', ['filters' => $customisedFilterArray])
->assertSee('Filters')
->call('enableReordering')
->assertSet('filtersStatus', false)
Expand All @@ -295,7 +301,7 @@ public function filters_are_disabled_on_reorder(array $filterDefaultArray): void
->call('disableReordering')
->assertSet('filtersStatus', true)
->set('table.filters.breed', [])
->assertSet('table', ['filters' => $filterDefaultArray, 'sorts' => [], 'columns' => []])
->assertSet('table', ['filters' => $filterDefaultArray])
->assertSeeHtml('Filters');
}

Expand All @@ -311,7 +317,7 @@ public function filter_pills_hide_on_reorder(array $filterDefaultArray): void
Livewire::test(PetsTable::class)
->call('setReorderEnabled')
->set('table.filters.breed', [1])
->assertSet('table', ['filters' => $filterDefaultArray, 'sorts' => [], 'columns' => []])
->assertSet('table', ['filters' => $filterDefaultArray])
->assertSee('Applied Filters')
->call('enableReordering')
->assertDontSee('Applied Filters');
Expand Down
31 changes: 20 additions & 11 deletions tests/Traits/Visuals/SearchVisualsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,58 +12,67 @@ class SearchVisualsTest extends TestCase
public function search_shows_be_default(): void
{
Livewire::test(PetsTable::class)
->assertSeeHtml('wire:model="table.search"');
->assertSeeHtml('wire:model="search"');
}

/** @test */
public function search_doesnt_show_if_search_disabled(): void
{
Livewire::test(PetsTable::class)
->call('setSearchDisabled')
->assertDontSee('wire:model="table.search"');
->assertDontSee('wire:model="search"');
}

/** @test */
public function search_doesnt_show_if_search_visibility_disabled(): void
{
Livewire::test(PetsTable::class)
->call('setSearchVisibilityDisabled')
->assertDontSee('wire:model="table.search"');
->assertDontSee('wire:model="search"');
}

/** @test */
public function search_clear_button_shows_when_there_is_input(): void
{
Livewire::test(PetsTable::class)
->assertDontSeeHtml('<span wire:click.prevent="clearSearch"')
->assertDontSeeHtml('<span wire:click="clearSearch"')
->call('setSearch', 'Anthony')
->assertSeeHtml('<span wire:click.prevent="clearSearch"');
->assertSeeHtml('<span wire:click="clearSearch"');
}

/** @test */
public function search_debounce_filter_is_applied(): void
{
Livewire::test(PetsTable::class)
->assertDontSeeHtml('wire:model.debounce.1000ms="table.search"')
->assertDontSeeHtml('wire:model.debounce.1000ms="search"')
->call('setSearchDebounce', 1000)
->assertSeeHtml('wire:model.debounce.1000ms="table.search"');
->assertSeeHtml('wire:model.debounce.1000ms="search"');
}

/** @test */
public function search_defer_filter_is_applied(): void
{
Livewire::test(PetsTable::class)
->assertDontSeeHtml('wire:model.defer="table.search"')
->call('setSearchDefer')
->assertSeeHtml('wire:model.defer="table.search"');
->assertSeeHtml('wire:model="search"');
}

/** @test */
public function search_lazy_filter_is_applied(): void
{
Livewire::test(PetsTable::class)
->assertDontSeeHtml('wire:model.lazy="table.search"')
->assertDontSeeHtml('wire:model.lazy="search"')
->call('setSearchLazy')
->assertSeeHtml('wire:model.lazy="table.search"');
->assertSeeHtml('wire:model.lazy="search"');
}

/** @test */
public function search_live_filter_is_applied(): void
{
Livewire::test(PetsTable::class)
->assertDontSeeHtml('wire:model.live="search"')
->call('setSearchLive')
->assertSeeHtml('wire:model.live="search"');
}

}

0 comments on commit 0d8d985

Please sign in to comment.