Files
myep/tests/BusProNet/DataLoader/PickupDataLoaderTest.php
T

48 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;
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 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);
}
}