Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

DeleteCompanyTest.php 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Tests\Feature;
  3. use App\Models\Company;
  4. use App\Models\User;
  5. use Illuminate\Foundation\Testing\RefreshDatabase;
  6. use Livewire\Livewire;
  7. use Tests\TestCase;
  8. use Wallo\FilamentCompanies\Http\Livewire\DeleteCompanyForm;
  9. class DeleteCompanyTest extends TestCase
  10. {
  11. use RefreshDatabase;
  12. public function test_companies_can_be_deleted(): void
  13. {
  14. $this->actingAs($user = User::factory()->withPersonalCompany()->create());
  15. $user->ownedCompanies()->save($company = Company::factory()->make([
  16. 'personal_company' => false,
  17. ]));
  18. $company->users()->attach(
  19. $otherUser = User::factory()->create(), ['role' => 'test-role']
  20. );
  21. $component = Livewire::test(DeleteCompanyForm::class, ['company' => $company->fresh()])
  22. ->call('deleteCompany');
  23. $this->assertNull($company->fresh());
  24. $this->assertCount(0, $otherUser->fresh()->companies);
  25. }
  26. public function test_personal_companies_cant_be_deleted(): void
  27. {
  28. $this->actingAs($user = User::factory()->withPersonalCompany()->create());
  29. $component = Livewire::test(DeleteCompanyForm::class, ['company' => $user->currentCompany])
  30. ->call('deleteCompany')
  31. ->assertHasErrors(['company']);
  32. $this->assertNotNull($user->currentCompany->fresh());
  33. }
  34. }