49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
<?php
|
|
|
|
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;
|
|
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
|
|
|
|
class PickupDataLoaderTest extends TestCase
|
|
{
|
|
public function testLoadById(): void
|
|
{
|
|
$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>';
|
|
|
|
$filesystem = $this->createMock(FilesystemOperator::class);
|
|
$filesystem->expects($this->once())
|
|
->method('read')
|
|
->with('zustiege.xml')
|
|
->willReturn($xmlContent);
|
|
|
|
$cache = new TagAwareAdapter(new ArrayAdapter());
|
|
$loader = new PickupLoader($cache, $filesystem);
|
|
|
|
$pickup = $loader->loadById(1);
|
|
|
|
$this->assertInstanceOf(Pickup::class, $pickup);
|
|
$this->assertEquals(1, $pickup->id);
|
|
$this->assertEquals('MS-Hbf', $pickup->code);
|
|
$this->assertEquals('Münster', $pickup->city);
|
|
$this->assertEquals('48143', $pickup->postalCode);
|
|
$this->assertEquals('Hafenstr/Ecke Friedrich-Ebert-Str', $pickup->street);
|
|
}
|
|
}
|