faker = Factory::create(); $this->buildCache(true); } 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]); $company->settings->language_id = '1'; $company->save(); $client = Client::factory()->create(['company_id' => $company->id, 'user_id' => $user->id]); $settings = $client->settings; $settings->language_id = '1'; $client->settings = $settings; $client->save(); 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, 'number' => 'testing-number-02', 'due_date' => now()->addMonth(), 'status_id' => Invoice::STATUS_SENT, ]); $paid = Invoice::factory()->create([ 'user_id' => $user->id, 'company_id' => $company->id, 'client_id' => $client->id, 'number' => 'testing-number-03', 'status_id' => Invoice::STATUS_PAID, ]); $unpaid = Invoice::factory()->create([ 'user_id' => $user->id, 'company_id' => $company->id, 'client_id' => $client->id, 'number' => 'testing-number-04', 'due_date' => '', 'status_id' => Invoice::STATUS_UNPAID, ]); $sent->load('client'); $paid->load('client'); $unpaid->load('client'); $this->actingAs($client->contacts()->first(), 'contact'); Livewire::test(InvoicesTable::class, ['company_id' => $company->id, 'db' => $company->db]) ->assertSee($sent->number) ->assertSee($paid->number) ->assertSee($unpaid->number); Livewire::test(InvoicesTable::class, ['company_id' => $company->id, 'db' => $company->db]) ->set('status', ['paid']) ->assertSee($paid->number) ->assertDontSee($unpaid->number); $account->delete(); } }