fix: corrupted logic of model transformer

This commit is contained in:
Björn Fromme
2026-04-16 16:40:38 +02:00
parent 0fcecc9c58
commit ca5a604a3e
2 changed files with 10 additions and 11 deletions
@@ -59,12 +59,8 @@ class RoomSelectionToIdTransformer implements DataTransformerInterface
return null; return null;
} }
if (is_int($value)) { if ($value instanceof RoomSelectionDto) {
return $value; return $value->id;
}
if (is_string($value) && ctype_digit($value)) {
return (int) $value;
} }
throw new TransformationFailedException(sprintf( throw new TransformationFailedException(sprintf(
@@ -11,12 +11,15 @@ use Symfony\Component\Form\Exception\TransformationFailedException;
class RoomSelectionToIdTransformerTest extends TestCase class RoomSelectionToIdTransformerTest extends TestCase
{ {
public function testReverseTransformAcceptsIntegerAndNumericStringIds(): void public function testReverseTransformAcceptsRoomSelectionDto(): void
{ {
$transformer = new RoomSelectionToIdTransformer([]); $roomSelection = new RoomSelectionDto();
$roomSelection->id = 7;
$roomSelection->label = 'Doppelzimmer';
self::assertSame(12, $transformer->reverseTransform(12)); $transformer = new RoomSelectionToIdTransformer([$roomSelection]);
self::assertSame(12, $transformer->reverseTransform('12'));
self::assertSame(7, $transformer->reverseTransform($roomSelection));
} }
public function testReverseTransformReturnsNullForEmptyValues(): void public function testReverseTransformReturnsNullForEmptyValues(): void
@@ -33,7 +36,7 @@ class RoomSelectionToIdTransformerTest extends TestCase
$this->expectException(TransformationFailedException::class); $this->expectException(TransformationFailedException::class);
$transformer->reverseTransform('1.5'); $transformer->reverseTransform('12');
} }
public function testTransformReturnsMatchingRoomSelectionDto(): void public function testTransformReturnsMatchingRoomSelectionDto(): void