1111use  PHPUnit \Framework \Attributes \DataProvider ;
1212use  PHPUnit \Framework \Attributes \Group ;
1313
14- use  function  sprintf ;
15- 
1614/** 
1715 * This class makes tests on the correct use of a database schema when entities are stored 
1816 */ 
@@ -30,28 +28,7 @@ protected function setUp(): void
3028        }
3129    }
3230
33-     #[DataProvider('getTestedClasses ' )]
34-     public  function  testClassSchemaMappingsValidity (string  $ className , string  $ expectedSchemaName , string  $ expectedTableName ): void 
35-     {
36-         $ classMetadata    = $ this  ->_em ->getClassMetadata ($ className );
37-         $ platform         = $ this  ->_em ->getConnection ()->getDatabasePlatform ();
38-         $ quotedTableName  = $ this  ->_em ->getConfiguration ()->getQuoteStrategy ()->getTableName ($ classMetadata , $ platform );
39- 
40-         // Check if table name and schema properties are defined in the class metadata 
41-         self ::assertEquals ($ expectedTableName , $ classMetadata ->table ['name ' ]);
42-         self ::assertEquals ($ expectedSchemaName , $ classMetadata ->table ['schema ' ]);
43- 
44-         $ fullTableName  = sprintf ('%s.%s ' , $ expectedSchemaName , $ expectedTableName );
45- 
46-         self ::assertEquals ($ fullTableName , $ quotedTableName );
47- 
48-         // Checks sequence name validity 
49-         self ::assertEquals (
50-             $ fullTableName  . '_ '  . $ classMetadata ->getSingleIdentifierColumnName () . '_seq ' ,
51-             $ classMetadata ->getSequenceName ($ platform ),
52-         );
53-     }
54- 
31+     /** @param class-string $className */ 
5532    #[DataProvider('getTestedClasses ' )]
5633    public  function  testPersistenceOfEntityWithSchemaMapping (string  $ className ): void 
5734    {
@@ -64,17 +41,14 @@ public function testPersistenceOfEntityWithSchemaMapping(string $className): voi
6441        self ::assertCount (1 , $ this  ->_em ->getRepository ($ className )->findAll ());
6542    }
6643
67-     /** 
68-      * Data provider 
69-      * 
70-      * @return string[][] 
71-      */ 
44+     /** @return list<array{class-string}> */ 
7245    public  static  function  getTestedClasses (): array 
7346    {
7447        return  [
75-             [ExplicitSchemaAndTable::class, 'explicit_schema ' , 'explicit_table ' ],
76-             [SchemaAndTableInTableName::class, 'implicit_schema ' , 'implicit_table ' ],
77-             [DDC2825ClassWithImplicitlyDefinedSchemaAndQuotedTableName::class, 'myschema ' , 'order ' ],
48+             [ExplicitSchemaAndTable::class],
49+             [SchemaAndTableInTableName::class],
50+             [DDC2825ClassWithImplicitlyDefinedSchemaAndQuotedTableName::class],
51+             [File::class],
7852        ];
7953    }
8054}
@@ -89,3 +63,13 @@ class DDC2825ClassWithImplicitlyDefinedSchemaAndQuotedTableName
8963    #[ORM \Column(type: 'integer ' )]
9064    public  $ id ;
9165}
66+ 
67+ #[ORM \Entity]
68+ #[ORM \Table(name: '`file` ' , schema: 'yourschema ' )]
69+ class  File
70+ {
71+     #[ORM \Id]
72+     #[ORM \Column]
73+     #[ORM \GeneratedValue]
74+     public  int  $ id ;
75+ }
0 commit comments