Files
myep/tests/Form/DataTransformer/RoomSelectionToIdTransformerTest.php

53 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Tests\Form\DataTransformer;
use App\Form\DataTransformer\RoomSelectionToIdTransformer;
use App\Form\Model\RoomSelectionDto;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Form\Exception\TransformationFailedException;
class RoomSelectionToIdTransformerTest extends TestCase
{
public function testReverseTransformAcceptsRoomSelectionDto(): void
{
$roomSelection = new RoomSelectionDto();
$roomSelection->id = 7;
$roomSelection->label = 'Doppelzimmer';
$transformer = new RoomSelectionToIdTransformer([$roomSelection]);
self::assertSame(7, $transformer->reverseTransform($roomSelection));
}
public function testReverseTransformReturnsNullForEmptyValues(): void
{
$transformer = new RoomSelectionToIdTransformer([]);
self::assertNull($transformer->reverseTransform(null));
self::assertNull($transformer->reverseTransform(''));
}
public function testReverseTransformRejectsInvalidValues(): void
{
$transformer = new RoomSelectionToIdTransformer([]);
$this->expectException(TransformationFailedException::class);
$transformer->reverseTransform('12');
}
public function testTransformReturnsMatchingRoomSelectionDto(): void
{
$roomSelection = new RoomSelectionDto();
$roomSelection->id = 7;
$roomSelection->label = 'Doppelzimmer';
$transformer = new RoomSelectionToIdTransformer([$roomSelection]);
self::assertSame($roomSelection, $transformer->transform(7));
}
}