Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

LeaveCompanyTest.php 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 LeaveCompanyTest extends TestCase
  9. {
  10. use RefreshDatabase;
  11. public function test_users_can_leave_companies(): void
  12. {
  13. $user = User::factory()->withPersonalCompany()->create();
  14. $user->currentCompany->users()->attach(
  15. $otherUser = User::factory()->create(), ['role' => 'admin']
  16. );
  17. $this->actingAs($otherUser);
  18. $component = Livewire::test(CompanyEmployeeManager::class, ['company' => $user->currentCompany])
  19. ->call('leaveCompany');
  20. $this->assertCount(0, $user->currentCompany->fresh()->users);
  21. }
  22. public function test_company_owners_cant_leave_their_own_company(): void
  23. {
  24. $this->actingAs($user = User::factory()->withPersonalCompany()->create());
  25. $component = Livewire::test(CompanyEmployeeManager::class, ['company' => $user->currentCompany])
  26. ->call('leaveCompany')
  27. ->assertHasErrors(['company']);
  28. $this->assertNotNull($user->currentCompany->fresh());
  29. }
  30. }