GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( a48bd8...83d092 )
by joseph
16:18 queued 18s
created

OverridesUpdateCommandTest::setup()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace EdmondsCommerce\DoctrineStaticMeta\Tests\Large\E\CodeGeneration\Command;
4
5
use EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Command\OverridesUpdateCommand;
6
use EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\PostProcessor\FileOverrider;
7
use EdmondsCommerce\DoctrineStaticMeta\Tests\Assets\AbstractTest;
8
9
/**
10
 * @covers \EdmondsCommerce\DoctrineStaticMeta\CodeGeneration\Command\OverrideCreateCommand
11
 */
12
class OverridesUpdateCommandTest extends AbstractCommandTest
13
{
14
    public const WORK_DIR = AbstractTest::VAR_PATH . '/'
15
                            . self::TEST_TYPE_LARGE . '/OverridesUpdateCommandTest/';
16
17
    private const TEST_FILE_1 = '/src/Entity/Fields/Traits/BooleanFieldTrait.php';
18
    private const TEST_FILE_2 = '/src/Entity/Fields/Interfaces/BooleanFieldInterface.php';
19
    protected static $buildOnce = true;
20
    private $overrideFile1;
21
    private $overrideFile2;
22
23
    public function setup()
24
    {
25
        parent::setUp();
26
        $this->createOverrides();
27
    }
28
29
    private function createOverrides(): void
30
    {
31
        /**
32
         * @var FileOverrider $overrider
33
         */
34
        $overrider = $this->container->get(FileOverrider::class);
35
        $overrider->setPathToProjectRoot($this->copiedWorkDir);
0 ignored issues
show
Bug introduced by
It seems like $this->copiedWorkDir can also be of type null; however, parameter $pathToProjectRoot of EdmondsCommerce\Doctrine...:setPathToProjectRoot() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

35
        $overrider->setPathToProjectRoot(/** @scrutinizer ignore-type */ $this->copiedWorkDir);
Loading history...
36
        $this->overrideFile1 =
37
            realpath(
38
                $this->copiedWorkDir . $overrider->createNewOverride(
39
                    $this->copiedWorkDir . self::TEST_FILE_1
40
                )
41
            );
42
        $this->overrideFile2 = realpath(
43
            $this->copiedWorkDir . $overrider->createNewOverride(
44
                $this->copiedWorkDir . self::TEST_FILE_2
45
            )
46
        );
47
    }
48
49
    /**
50
     * @test
51
     * @large
52
     * @throws \EdmondsCommerce\DoctrineStaticMeta\Exception\DoctrineStaticMetaException
53
     */
54
    public function updateProject(): void
55
    {
56
        \ts\file_put_contents($this->overrideFile1, 'this is updated in the overrides');
57
        $command = $this->container->get(OverridesUpdateCommand::class);
58
        $tester  = $this->getCommandTester($command);
59
        $tester->execute(
60
            [
61
                '-' . OverridesUpdateCommand::OPT_PROJECT_ROOT_PATH_SHORT => $this->copiedWorkDir,
62
                '-' .
63
                OverridesUpdateCommand::OPT_OVERRIDE_ACTION_SHORT         => OverridesUpdateCommand::ACTION_TO_PROJECT,
64
            ]
65
        );
66
        $expectedOutput = <<<OUTPUT
67
Updating overrides toProject
68
+---------------------------------------------------------+
69
| /src/Entity/Fields/Interfaces/BooleanFieldInterface.php |
70
| /src/Entity/Fields/Traits/BooleanFieldTrait.php         |
71
+---------------------------------------------------------+
72
Overrides have been applied to project
73
OUTPUT;
74
        self::assertSame(trim($expectedOutput), trim($tester->getDisplay()));
75
        self::assertFileEquals($this->copiedWorkDir . self::TEST_FILE_1, $this->overrideFile1);
76
        self::assertFileEquals($this->copiedWorkDir . self::TEST_FILE_2, $this->overrideFile2);
77
    }
78
79
    /**
80
     * @test
81
     * @large
82
     * @throws \EdmondsCommerce\DoctrineStaticMeta\Exception\DoctrineStaticMetaException
83
     */
84
    public function updateOverrides(): void
85
    {
86
        \ts\file_put_contents($this->copiedWorkDir . self::TEST_FILE_1, 'this is updated in the project');
87
        $command = $this->container->get(OverridesUpdateCommand::class);
88
        $tester  = $this->getCommandTester($command);
89
        $tester->execute(
90
            [
91
                '-' . OverridesUpdateCommand::OPT_PROJECT_ROOT_PATH_SHORT => $this->copiedWorkDir,
92
                '-' .
93
                OverridesUpdateCommand::OPT_OVERRIDE_ACTION_SHORT         =>
94
                    OverridesUpdateCommand::ACTION_FROM_PROJECT,
95
            ]
96
        );
97
        $expectedOutput = <<<OUTPUT
98
Updating overrides fromProject
99
+---------------------------------------------------------+
100
| /src/Entity/Fields/Interfaces/BooleanFieldInterface.php |
101
| /src/Entity/Fields/Traits/BooleanFieldTrait.php         |
102
+---------------------------------------------------------+
103
Overrides have been updated from the project
104
OUTPUT;
105
        self::assertSame(trim($expectedOutput), trim($tester->getDisplay()));
106
        self::assertFileEquals($this->overrideFile1, $this->copiedWorkDir . self::TEST_FILE_1);
107
        self::assertFileEquals($this->overrideFile2, $this->copiedWorkDir . self::TEST_FILE_2);
108
    }
109
}
110