fix: corrupted logic of model transformer
This commit is contained in:
@@ -59,12 +59,8 @@ class RoomSelectionToIdTransformer implements DataTransformerInterface
|
||||
return null;
|
||||
}
|
||||
|
||||
if (is_int($value)) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
if (is_string($value) && ctype_digit($value)) {
|
||||
return (int) $value;
|
||||
if ($value instanceof RoomSelectionDto) {
|
||||
return $value->id;
|
||||
}
|
||||
|
||||
throw new TransformationFailedException(sprintf(
|
||||
|
||||
@@ -11,12 +11,15 @@ use Symfony\Component\Form\Exception\TransformationFailedException;
|
||||
|
||||
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));
|
||||
self::assertSame(12, $transformer->reverseTransform('12'));
|
||||
$transformer = new RoomSelectionToIdTransformer([$roomSelection]);
|
||||
|
||||
self::assertSame(7, $transformer->reverseTransform($roomSelection));
|
||||
}
|
||||
|
||||
public function testReverseTransformReturnsNullForEmptyValues(): void
|
||||
@@ -33,7 +36,7 @@ class RoomSelectionToIdTransformerTest extends TestCase
|
||||
|
||||
$this->expectException(TransformationFailedException::class);
|
||||
|
||||
$transformer->reverseTransform('1.5');
|
||||
$transformer->reverseTransform('12');
|
||||
}
|
||||
|
||||
public function testTransformReturnsMatchingRoomSelectionDto(): void
|
||||
|
||||
Reference in New Issue
Block a user