build(157047, 11606); $this->assertSame( 'https://my.ep-reisen.de/bookings/create?date_id=11606&hotel_id=157047', $url ); } public function testBuildUsesCustomBaseUrlWhenProvided(): void { $utility = new BookingUrlUtility('https://my.ep-reisen.de'); $url = $utility->build(157047, 11606, 'https://my.example.test/'); $this->assertSame( 'https://my.example.test/bookings/create?date_id=11606&hotel_id=157047', $url ); } public function testBuildFallsBackToConfiguredDefaultWhenCustomBaseIsBlank(): void { $utility = new BookingUrlUtility('https://fallback.test'); $url = $utility->build(157047, 11606, ' '); $this->assertSame( 'https://fallback.test/bookings/create?date_id=11606&hotel_id=157047', $url ); } public function testBuildReturnsRelativeUrlWhenNoBaseUrlAvailable(): void { $utility = new BookingUrlUtility(''); $url = $utility->build(157047, 11606); $this->assertSame('/bookings/create?date_id=11606&hotel_id=157047', $url); } }