您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

RemoveCompanyEmployeeTest.php 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Tests\Feature;
  3. use App\Models\User;
  4. use Illuminate\Foundation\Testing\RefreshDatabase;
  5. use Livewire\Livewire;
  6. use Tests\TestCase;
  7. use Wallo\FilamentCompanies\Http\Livewire\CompanyEmployeeManager;
  8. class RemoveCompanyEmployeeTest extends TestCase
  9. {
  10. use RefreshDatabase;
  11. public function test_company_employees_can_be_removed_from_companies(): void
  12. {
  13. $this->actingAs($user = User::factory()->withPersonalCompany()->create());
  14. $user->currentCompany->users()->attach(
  15. $otherUser = User::factory()->create(), ['role' => 'admin']
  16. );
  17. $component = Livewire::test(CompanyEmployeeManager::class, ['company' => $user->currentCompany])
  18. ->set('companyEmployeeIdBeingRemoved', $otherUser->id)
  19. ->call('removeCompanyEmployee');
  20. $this->assertCount(0, $user->currentCompany->fresh()->users);
  21. }
  22. public function test_only_company_owner_can_remove_company_employees(): void
  23. {
  24. $user = User::factory()->withPersonalCompany()->create();
  25. $user->currentCompany->users()->attach(
  26. $otherUser = User::factory()->create(), ['role' => 'admin']
  27. );
  28. $this->actingAs($otherUser);
  29. $component = Livewire::test(CompanyEmployeeManager::class, ['company' => $user->currentCompany])
  30. ->set('companyEmployeeIdBeingRemoved', $user->id)
  31. ->call('removeCompanyEmployee')
  32. ->assertStatus(403);
  33. }
  34. }