Codeception / module-doctrine

Next gen Doctrine module for Codeception
MIT License
2 stars 1 forks source link

Enum Array Support with `simple_array` Type #6

Open blueblakk opened 11 months ago

blueblakk commented 11 months ago

It seems that enum arrays are not supported, or am I doing something wrong?

/**
 * @var FieldType[]
 *
 * @ORM\Column(type="simple_array", enumType="Demo\FieldType")
 */
private array $supportedFields;

I can't use grabFromRepository() or seeInRepository() as it seems like the module doesn't internally handle the conversion to a comma-delimited string properly. I'm not sure if this issue includes haveInRepository() as well since have not tested it.

$result = $this->tester->grabEntityFromRepository(Demo::class, [
    ...
    'supportedFields' => [FieldType.Field1, FieldType.Field2, ...] // <-- problematic
]);

Crashes with a SyntaxErrorException:

Doctrine\DBAL\Exception\SyntaxErrorException : An exception occurred while executing a query: SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near ","
LINE 1: ...$1 AND d0_.name = $2 AND d0_.supported_fields = $3, $4, $5, ...
                                                             ^