wip: booking process, refactoring

This commit is contained in:
Björn Fromme
2025-07-16 19:37:17 +02:00
parent 47faa6b08e
commit eecea0abd1
43 changed files with 2269 additions and 366 deletions
@@ -4,22 +4,41 @@ namespace App\Tests\BusProNet\DataLoader;
use App\BusProNet\Model\Pickup;
use App\BusProNet\XmlLoader\PickupLoader;
use League\Flysystem\FilesystemOperator;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Cache\Adapter\ArrayAdapter;
class PickupDataLoaderTest extends TestCase
{
public function testParse(): void
public function testLoadById(): void
{
$loader = new PickupLoader();
$pickupId = 1;
$xmlContent = '<?xml version="1.0" encoding="utf-8"?>
<!--Export für dreipunktnull büro für mediengestaltung-->
<zustiege erstellt_am="14.07.2025 15:15:09">
<zustieg id="1" idbuspro="1" code="MS-Hbf">
<ort>Münster</ort>
<plz>48143</plz>
<strasse>Hafenstr/Ecke Friedrich-Ebert-Str</strasse>
<art>BUS</art>
<hausabholung>False</hausabholung>
<crsbuchbar>True</crsbuchbar>
<internetbuchbar>True</internetbuchbar>
</zustieg>
</zustiege>';
$xml = $loader->loadById($pickupId, 'pickups_data.xml');
$this->assertInstanceOf(\SimpleXMLElement::class, $xml);
$filesystem = $this->createMock(FilesystemOperator::class);
$filesystem->expects($this->once())
->method('read')
->with('zustiege.xml')
->willReturn($xmlContent);
$pickup = $loader->parseXml($xml);
$cache = new ArrayAdapter();
$loader = new PickupLoader($cache, $filesystem);
$pickup = $loader->loadById(1);
$this->assertInstanceOf(Pickup::class, $pickup);
$this->assertEquals($pickupId, $pickup->id);
$this->assertEquals(1, $pickup->id);
$this->assertEquals('MS-Hbf', $pickup->code);
$this->assertEquals('Münster', $pickup->city);
$this->assertEquals('48143', $pickup->postalCode);