• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

api-platform / core / 10014117656

19 Jul 2024 08:44PM UTC coverage: 7.856% (-56.3%) from 64.185%
10014117656

push

github

soyuka
Merge branch 'sf/remove-flag'

0 of 527 new or added lines in 83 files covered. (0.0%)

10505 existing lines in 362 files now uncovered.

12705 of 161727 relevant lines covered (7.86%)

26.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/tests/RecreateSchemaTrait.php
1
<?php
2

3
/*
4
 * This file is part of the API Platform project.
5
 *
6
 * (c) Kévin Dunglas <dunglas@gmail.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

12
declare(strict_types=1);
13

14
namespace ApiPlatform\Tests;
15

16
use Doctrine\ODM\MongoDB\DocumentManager;
17
use Doctrine\ORM\EntityManagerInterface;
18
use Doctrine\ORM\Mapping\ClassMetadata;
19
use Doctrine\ORM\Tools\SchemaTool;
20

21
trait RecreateSchemaTrait
22
{
23
    /**
24
     * @param class-string[] $classes
25
     */
26
    private function recreateSchema(array $classes = []): void
27
    {
NEW
28
        $manager = $this->getManager();
×
29

NEW
30
        if ($manager instanceof DocumentManager) {
×
NEW
31
            $schemaManager = $manager->getSchemaManager();
×
NEW
32
            foreach ($classes as $c) {
×
NEW
33
                $class = str_contains($c, 'Entity') ? str_replace('Entity', 'Document', $c) : $c;
×
NEW
34
                $schemaManager->dropDocumentDatabase($class);
×
35
            }
36

NEW
37
            return;
×
38
        }
39

40
        /** @var ClassMetadata[] $cl */
NEW
41
        $cl = [];
×
NEW
42
        foreach ($classes as $c) {
×
NEW
43
            $cl[] = $manager->getMetadataFactory()->getMetadataFor($c);
×
44
        }
45

NEW
46
        $schemaTool = new SchemaTool($manager);
×
NEW
47
        @$schemaTool->dropSchema($cl);
×
NEW
48
        @$schemaTool->createSchema($cl);
×
49
    }
50

51
    private function isMongoDB(): bool
52
    {
NEW
53
        return 'mongodb' === static::getContainer()->getParameter('kernel.environment');
×
54
    }
55

56
    private function getManager(): EntityManagerInterface|DocumentManager
57
    {
NEW
58
        return static::getContainer()->get($this->isMongoDB() ? 'doctrine_mongodb' : 'doctrine')->getManager();
×
59
    }
60
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc