AttendanceBookingReasonExtensionTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Tests\Doctrine\Booking;
  4. use App\Doctrine\Booking\AttendanceBookingReasonExtension;
  5. use App\Entity\Booking\AttendanceBookingReason;
  6. use App\Tests\Unit\DoctrineExtension\AbstractExtensionTest;
  7. class AttendanceBookingReasonExtensionTest extends AbstractExtensionTest
  8. {
  9. private $extension;
  10. protected function setUp(): void
  11. {
  12. parent::setUp();
  13. $this->extension = new AttendanceBookingReasonExtension($this->security);
  14. }
  15. public function testSupportsReturnsTrueForAttendanceBookingReasonClass()
  16. {
  17. $this->assertTrue($this->extension->supports(AttendanceBookingReason::class, null));
  18. }
  19. public function testSupportsReturnsFalseForOtherClasses()
  20. {
  21. $this->assertFalse($this->extension->supports('OtherClass', null));
  22. }
  23. public function testAddWhere()
  24. {
  25. $this->user->method('getOrganization')->willReturn($this->organization);
  26. $this->security->method('getUser')->willReturn($this->user);
  27. $this->queryBuilder->method('getRootAliases')->willReturn(['a']);
  28. $this->queryBuilder->expects($this->once())
  29. ->method('andWhere')
  30. ->with('a.organization = :organization')
  31. ->willReturn($this->queryBuilder);
  32. $this->queryBuilder->expects($this->once())
  33. ->method('setParameter')
  34. ->with('organization', $this->organization)
  35. ->willReturn($this->queryBuilder);
  36. $this->invokeAddWhere($this->extension, $this->queryBuilder, AttendanceBookingReason::class, null);
  37. }
  38. }