actingAs($user); Filament::setTenant($tenant, true); $scopeA = 'scope-a'; $scopeB = 'scope-b'; $matching = Finding::factory() ->count(2) ->for($tenant) ->create([ 'finding_type' => Finding::FINDING_TYPE_DRIFT, 'status' => Finding::STATUS_NEW, 'scope_key' => $scopeA, ]); $nonMatching = Finding::factory() ->for($tenant) ->create([ 'finding_type' => Finding::FINDING_TYPE_DRIFT, 'status' => Finding::STATUS_NEW, 'scope_key' => $scopeB, ]); Livewire::test(ListFindings::class) ->set('tableFilters', [ 'status' => ['value' => Finding::STATUS_NEW], 'finding_type' => ['value' => Finding::FINDING_TYPE_DRIFT], 'scope_key' => ['scope_key' => $scopeA], ]) ->callAction('acknowledge_all_matching'); $matching->each(function (Finding $finding) use ($user): void { $finding->refresh(); expect($finding->status)->toBe(Finding::STATUS_ACKNOWLEDGED); expect((int) $finding->acknowledged_by_user_id)->toBe((int) $user->getKey()); }); $nonMatching->refresh(); expect($nonMatching->status)->toBe(Finding::STATUS_NEW); expect($nonMatching->acknowledged_at)->toBeNull(); });