faker = Factory::create(); } public function testInvoiceTableFilters() { $account = Account::factory()->create(); $user = User::factory()->create( ['account_id' => $account->id, 'email' => $this->faker->safeEmail] ); $company = Company::factory()->create(['account_id' => $account->id]); $client = Client::factory()->create(['company_id' => $company->id, 'user_id' => $user->id]); ClientContact::factory()->count(2)->create([ 'user_id' => $user->id, 'client_id' => $client->id, 'company_id' => $company->id, ]); $sent = Invoice::factory()->create([ 'user_id' => $user->id, 'company_id' => $company->id, 'client_id' => $client->id, 'status_id' => Invoice::STATUS_SENT, ]); $paid = Invoice::factory()->create([ 'user_id' => $user->id, 'company_id' => $company->id, 'client_id' => $client->id, 'status_id' => Invoice::STATUS_PAID, ]); $unpaid = Invoice::factory()->create([ 'user_id' => $user->id, 'company_id' => $company->id, 'client_id' => $client->id, 'status_id' => Invoice::STATUS_UNPAID, ]); $this->actingAs($client->contacts->first(), 'contact'); Livewire::test(InvoicesTable::class, ['company' => $company]) ->assertSee($sent->number) ->assertSee($paid->number) ->assertSee($unpaid->number); Livewire::test(InvoicesTable::class, ['company' => $company]) ->set('status', ['paid']) ->assertSee($paid->number) ->assertDontSee($unpaid->number); } }