Skip to content

Commit 43263ab

Browse files
committed
Add test for filter slidedown row
1 parent a7aef6c commit 43263ab

File tree

1 file changed

+89
-2
lines changed

1 file changed

+89
-2
lines changed

tests/Unit/Traits/Filters/FilterMenuTest.php

Lines changed: 89 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,94 @@ public function publiclySetResetFilterAllButtonAttributes(array $attributes = []
107107
$this->assertTrue($testTableDefault->hasFiltersWithSlidedownRows());
108108
}
109109

110-
/*
111-
}*/
110+
public function test_can_get_filter_slidedown_rows(): void
111+
{
112+
$testTableDefault = new class extends PetsTable
113+
{
114+
public function configure(): void
115+
{
116+
parent::configure();
117+
$this->useComputedPropertiesDisabled();
112118

119+
}
120+
121+
public function filters(): array
122+
{
123+
return [
124+
MultiSelectFilter::make('Breed 1', 'breed')
125+
->setFilterSlidedownRow(1)
126+
->options(
127+
Breed::query()
128+
->orderBy('name')
129+
->get()
130+
->keyBy('id')
131+
->map(fn ($breed) => $breed->name)
132+
->toArray()
133+
)
134+
->filter(function (Builder $builder, array $values) {
135+
return $builder->whereIn('breed_id', $values);
136+
}),
137+
MultiSelectFilter::make('Breed 3', 'breed3')
138+
->setFilterSlidedownRow(1)
139+
->options(
140+
Breed::query()
141+
->orderBy('name')
142+
->get()
143+
->keyBy('id')
144+
->map(fn ($breed) => $breed->name)
145+
->toArray()
146+
)
147+
->filter(function (Builder $builder, array $values) {
148+
return $builder->whereIn('breed_id', $values);
149+
}),
150+
MultiSelectFilter::make('Breed 2', 'breed2')
151+
->setFilterSlidedownRow(2)
152+
->options(
153+
Breed::query()
154+
->orderBy('name')
155+
->get()
156+
->keyBy('id')
157+
->map(fn ($breed) => $breed->name)
158+
->toArray()
159+
)
160+
->filter(function (Builder $builder, array $values) {
161+
return $builder->whereIn('breed_id', $values);
162+
}),
163+
164+
MultiSelectFilter::make('Breed 4', 'breed4')
165+
->options(
166+
Breed::query()
167+
->orderBy('name')
168+
->get()
169+
->keyBy('id')
170+
->map(fn ($breed) => $breed->name)
171+
->toArray()
172+
)
173+
->filter(function (Builder $builder, array $values) {
174+
return $builder->whereIn('breed_id', $values);
175+
}),
176+
];
177+
}
178+
179+
public function publiclySetFilterPillsItemAttributes(array $attributes = [])
180+
{
181+
$this->setFilterPillsItemAttributes($attributes);
182+
}
183+
184+
public function publiclySetResetFilterButtonAttributes(array $attributes = [])
185+
{
186+
$this->setFilterPillsResetFilterButtonAttributes($attributes);
187+
}
188+
189+
public function publiclySetResetFilterAllButtonAttributes(array $attributes = [])
190+
{
191+
$this->setFilterPillsResetAllButtonAttributes($attributes);
192+
}
193+
};
194+
$this->assertSame('Breed 1', $testTableDefault->getFiltersByRow()[1][0]->getName());
195+
$this->assertSame('Breed 3', $testTableDefault->getFiltersByRow()[1][1]->getName());
196+
$this->assertSame('Breed 2', $testTableDefault->getFiltersByRow()[2][0]->getName());
197+
$this->assertSame('Breed 4', $testTableDefault->getFiltersByRow()[''][0]->getName());
198+
199+
}
113200
}

0 commit comments

Comments
 (0)