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

api-platform / core / 20545070147

27 Dec 2025 10:15PM UTC coverage: 28.855% (+3.7%) from 25.192%
20545070147

push

github

soyuka
ci: upgrade to phpunit 12

Remove soyuka/phpunit fork from all composer.json files and upgrade to
PHPUnit 12.2. Update CI workflow to install PHPUnit before other steps
and configure MongoDB conditional execution. Migrate tests from Prophecy
to PHPUnit native mocking in FieldsBuilderTest and Symfony event listener
tests. Remove unused dataprovider and fix warnings.

0 of 84 new or added lines in 8 files covered. (0.0%)

534 existing lines in 34 files now uncovered.

16760 of 58083 relevant lines covered (28.86%)

78.25 hits per line

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

90.91
/src/State/Util/StateOptionsTrait.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\State\Util;
15

16
use ApiPlatform\Doctrine\Odm\State\Options as ODMOptions;
17
use ApiPlatform\Doctrine\Orm\State\Options;
18
use ApiPlatform\Laravel\Eloquent\State\Options as EloquentOptions;
19
use ApiPlatform\Metadata\Operation;
20
use ApiPlatform\State\OptionsInterface;
21

22
/**
23
 * @internal
24
 */
25
trait StateOptionsTrait
26
{
27
    /**
28
     * @param Operation   $operation    the operation
29
     * @param string|null $defaultClass the default class to return if no state options class is found
30
     * @param string      $optionsType  an option type to test against (defaults to ApiPlatform\State\OptionsInterface)
31
     *
32
     * @return class-string|null
33
     */
34
    public function getStateOptionsClass(Operation $operation, ?string $defaultClass = null, string $optionsType = OptionsInterface::class): ?string
35
    {
36
        if (!$options = $operation->getStateOptions()) {
2,285✔
37
            return $defaultClass;
811✔
38
        }
39

40
        if (!$options instanceof $optionsType) {
1,721✔
41
            return $defaultClass;
6✔
42
        }
43

44
        if (class_exists(Options::class) && $options instanceof Options && ($e = $options->getEntityClass())) {
1,721✔
45
            return $e;
322✔
46
        }
47

48
        if (class_exists(ODMOptions::class) && $options instanceof ODMOptions && ($e = $options->getDocumentClass())) {
1,685✔
UNCOV
49
            return $e;
140✔
50
        }
51

52
        if (class_exists(EloquentOptions::class) && $options instanceof EloquentOptions && ($e = $options->getModelClass())) {
1,682✔
53
            return $e;
×
54
        }
55

56
        return $defaultClass;
1,682✔
57
    }
58
}
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