feat: upgrade phpunit to 12.5

This commit is contained in:
Björn Fromme
2026-08-31 09:31:00 +02:00
parent 010cfe56b2
commit bfad61f1dd
95 changed files with 1436 additions and 1224 deletions
@@ -25,6 +25,7 @@ use App\Service\AccommodationBookingService;
use App\Service\CmsDataProvider;
use App\Service\PriceTimelineBuilder;
use Doctrine\ORM\EntityManagerInterface;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
@@ -153,10 +154,10 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setStatus(AccommodationBookingStatus::Open);
$booking->setAccessLinkIssuedAt(new \DateTimeImmutable());
$linkSigner = $this->createMock(AccommodationBookingLinkSigner::class);
$linkSigner = $this->createStub(AccommodationBookingLinkSigner::class);
$linkSigner->method('sign')->willReturn('https://example.com/offer/signed-link');
$breakdownCalculator = $this->createMock(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator = $this->createStub(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator->method('compute')->willReturn(null);
$mailer = $this->createMock(Mailer::class);
@@ -183,7 +184,7 @@ class AccommodationBookingServiceTest extends TestCase
$linkSigner = $this->createMock(AccommodationBookingLinkSigner::class);
$linkSigner->method('sign')->with($booking)->willReturn('https://example.com/offer/signed-link');
$breakdownCalculator = $this->createMock(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator = $this->createStub(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator->method('compute')->willReturn(['total' => 1000, 'currency' => 'EUR']);
$mailer = $this->createMock(Mailer::class);
@@ -208,7 +209,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setStatus(AccommodationBookingStatus::Open);
$breakdownCalculator = $this->createMock(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator = $this->createStub(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator->method('compute')->willReturn(null);
$mailer = $this->createMock(Mailer::class);
@@ -231,10 +232,10 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setStatus(AccommodationBookingStatus::Open);
$breakdownCalculator = $this->createMock(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator = $this->createStub(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator->method('compute')->willReturn(null);
$mailer = $this->createMock(Mailer::class);
$mailer = $this->createStub(Mailer::class);
$mailer->method('createAndSendEmail')->willThrowException(new \RuntimeException('SMTP down'));
$logger = $this->createMock(LoggerInterface::class);
@@ -258,7 +259,7 @@ class AccommodationBookingServiceTest extends TestCase
$entityManager = $this->createMock(EntityManagerInterface::class);
$entityManager->expects(self::once())->method('flush');
$breakdownCalculator = $this->createMock(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator = $this->createStub(AccommodationBookingBreakdownCalculator::class);
$breakdownCalculator->method('compute')->willReturn(null);
$mailer = $this->createMock(Mailer::class);
@@ -416,9 +417,7 @@ class AccommodationBookingServiceTest extends TestCase
self::assertSame($issuedAt, $booking->getAccessLinkIssuedAt());
}
/**
* @dataProvider statusesThatAreNotAwaitingAnOffer
*/
#[DataProvider('statusesThatAreNotAwaitingAnOffer')]
public function testSendOfferNoOpsOnceTheOfferIsOut(AccommodationBookingStatus $status): void
{
$entityManager = $this->createMock(EntityManagerInterface::class);
@@ -495,9 +494,7 @@ class AccommodationBookingServiceTest extends TestCase
self::assertSame($issuedAt, $booking->getAccessLinkIssuedAt());
}
/**
* @dataProvider statusesThatAreNotAwaitingAnOffer
*/
#[DataProvider('statusesThatAreNotAwaitingAnOffer')]
public function testGenerateAccessLinkNoOpsOnceTheOfferIsOut(AccommodationBookingStatus $status): void
{
$entityManager = $this->createMock(EntityManagerInterface::class);
@@ -533,9 +530,7 @@ class AccommodationBookingServiceTest extends TestCase
self::assertSame(AccommodationBookingStatus::Discarded, $booking->getStatus());
}
/**
* @dataProvider closedStatuses
*/
#[DataProvider('closedStatuses')]
public function testDiscardBookingNoOpsForAClosedBooking(AccommodationBookingStatus $status): void
{
$entityManager = $this->createMock(EntityManagerInterface::class);
@@ -643,7 +638,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setRemarks('vom Telefonat');
$service = $this->createServiceWithAccommodation(mailer: $this->createMock(Mailer::class));
$service = $this->createServiceWithAccommodation(mailer: $this->createStub(Mailer::class));
$service->acceptBooking($booking, " Bitte Zimmer im EG\nund Frühstück um 8 \n");
@@ -657,7 +652,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setRemarks('vom Telefonat');
$service = $this->createServiceWithAccommodation(mailer: $this->createMock(Mailer::class));
$service = $this->createServiceWithAccommodation(mailer: $this->createStub(Mailer::class));
$service->acceptBooking($booking, ' ');
@@ -671,7 +666,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setRemarks('vom Telefonat');
$service = $this->createServiceWithAccommodation(mailer: $this->createMock(Mailer::class));
$service = $this->createServiceWithAccommodation(mailer: $this->createStub(Mailer::class));
$service->acceptBooking($booking);
@@ -684,7 +679,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setStatus(AccommodationBookingStatus::Received);
$booking->setRemarks('vom Telefonat');
$service = $this->createServiceWithAccommodation(mailer: $this->createMock(Mailer::class));
$service = $this->createServiceWithAccommodation(mailer: $this->createStub(Mailer::class));
$service->acceptBooking($booking, 'zu spät');
@@ -693,7 +688,7 @@ class AccommodationBookingServiceTest extends TestCase
public function testConfirmBookingConfirmsReceivedBookingAndNotifiesTheCustomer(): void
{
$entityManager = $this->createMock(EntityManagerInterface::class);
$entityManager = $this->createStub(EntityManagerInterface::class);
$booking = new AccommodationBooking();
$booking->setStatus(AccommodationBookingStatus::Received);
@@ -835,7 +830,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking = new AccommodationBooking();
$booking->setStatus(AccommodationBookingStatus::Received);
$mailer = $this->createMock(Mailer::class);
$mailer = $this->createStub(Mailer::class);
$mailer->method('createAndSendEmail')->willThrowException(new \RuntimeException('SMTP down'));
$logger = $this->createMock(LoggerInterface::class);
@@ -852,7 +847,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setStatus(AccommodationBookingStatus::Confirmed);
$mailer = $this->createMock(Mailer::class);
$mailer = $this->createStub(Mailer::class);
$mailer->method('createAndSendEmail')->willThrowException(new \RuntimeException('SMTP down'));
$logger = $this->createMock(LoggerInterface::class);
@@ -894,7 +889,7 @@ class AccommodationBookingServiceTest extends TestCase
$booking->setEmail('[email protected]');
$booking->setStatus(AccommodationBookingStatus::Confirmed);
$pdfGenerator = $this->createMock(AccommodationBookingPdfGenerator::class);
$pdfGenerator = $this->createStub(AccommodationBookingPdfGenerator::class);
$pdfGenerator->method('createAttachment')->willThrowException(new \RuntimeException('no prices'));
$mailer = $this->createMock(Mailer::class);
@@ -1038,7 +1033,7 @@ class AccommodationBookingServiceTest extends TestCase
->with(['calendarCode' => 'HOTEL'])
->willReturn($accommodation);
$priceRepo = $this->createMock(AccommodationPriceRepository::class);
$priceRepo = $this->createStub(AccommodationPriceRepository::class);
$priceRepo
->method('findByHotelCodeAndDateRange')
->willReturn($prices);
@@ -1046,16 +1041,16 @@ class AccommodationBookingServiceTest extends TestCase
return new AccommodationBookingService(
$accommodationRepo,
$priceRepo,
$this->createMock(AdditionalServiceRepository::class),
$this->createMock(BoardServiceRepository::class),
$this->createStub(AdditionalServiceRepository::class),
$this->createStub(BoardServiceRepository::class),
new PriceTimelineBuilder(),
$entityManager ?? $this->createMock(EntityManagerInterface::class),
$mailer ?? $this->createMock(Mailer::class),
$logger ?? $this->createMock(LoggerInterface::class),
$this->createMock(CmsDataProvider::class),
$linkSigner ?? $this->createMock(AccommodationBookingLinkSigner::class),
$breakdownCalculator ?? $this->createMock(AccommodationBookingBreakdownCalculator::class),
$pdfGenerator ?? $this->createMock(AccommodationBookingPdfGenerator::class),
$entityManager ?? $this->createStub(EntityManagerInterface::class),
$mailer ?? $this->createStub(Mailer::class),
$logger ?? $this->createStub(LoggerInterface::class),
$this->createStub(CmsDataProvider::class),
$linkSigner ?? $this->createStub(AccommodationBookingLinkSigner::class),
$breakdownCalculator ?? $this->createStub(AccommodationBookingBreakdownCalculator::class),
$pdfGenerator ?? $this->createStub(AccommodationBookingPdfGenerator::class),
'[email protected]',
);
}