@@ -486,13 +486,34 @@ public function testGetSingleResultThrowsExceptionOnNoResult(): void
486
486
public function testGetSingleScalarResultThrowsExceptionOnNoResult (): void
487
487
{
488
488
$ this ->expectException ('Doctrine\ORM\NoResultException ' );
489
- $ this ->_em ->createQuery ('select a from Doctrine\Tests\Models\CMS\CmsArticle a ' )
489
+ $ this ->_em ->createQuery ('select a.id from Doctrine\Tests\Models\CMS\CmsArticle a ' )
490
+ ->getSingleScalarResult ();
491
+ }
492
+
493
+ public function testGetSingleScalarResultThrowsExceptionOnSingleRowWithMultipleColumns (): void
494
+ {
495
+ $ user = new CmsUser ();
496
+ $ user ->name = 'Javier ' ;
497
+ $ user ->username = 'phansys ' ;
498
+ $ user ->status = 'developer ' ;
499
+
500
+ $ this ->_em ->persist ($ user );
501
+
502
+ $ this ->_em ->flush ();
503
+ $ this ->_em ->clear ();
504
+
505
+ $ this ->expectException (NonUniqueResultException::class);
506
+ $ this ->expectExceptionMessage (
507
+ 'The query returned a row containing multiple columns. Change the query or use a different result function '
508
+ . ' like getScalarResult(). '
509
+ );
510
+
511
+ $ this ->_em ->createQuery ('select u from Doctrine\Tests\Models\CMS\CmsUser u ' )
490
512
->getSingleScalarResult ();
491
513
}
492
514
493
515
public function testGetSingleScalarResultThrowsExceptionOnNonUniqueResult (): void
494
516
{
495
- $ this ->expectException ('Doctrine\ORM\NonUniqueResultException ' );
496
517
$ user = new CmsUser ();
497
518
$ user ->name = 'Guilherme ' ;
498
519
$ user ->username = 'gblanco ' ;
@@ -515,7 +536,12 @@ public function testGetSingleScalarResultThrowsExceptionOnNonUniqueResult(): voi
515
536
$ this ->_em ->flush ();
516
537
$ this ->_em ->clear ();
517
538
518
- $ this ->_em ->createQuery ('select a from Doctrine\Tests\Models\CMS\CmsArticle a ' )
539
+ $ this ->expectException (NonUniqueResultException::class);
540
+ $ this ->expectExceptionMessage (
541
+ 'The query returned multiple rows. Change the query or use a different result function like getScalarResult(). '
542
+ );
543
+
544
+ $ this ->_em ->createQuery ('select a.id from Doctrine\Tests\Models\CMS\CmsArticle a ' )
519
545
->getSingleScalarResult ();
520
546
}
521
547
0 commit comments