Skip to content

Commit c59edb2

Browse files
authored
[Tests] Add support for codeception 5 (pimcore#630)
* [Tests] Add support for codeception 5 * [Tests] Add support for codeception 5
1 parent fec36c8 commit c59edb2

16 files changed

+57
-41
lines changed

Diff for: .github/workflows/codeception_pimcore_x.yml

+9-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ jobs:
3434
strategy:
3535
matrix:
3636
include:
37-
- { php-version: 8.0, database: "mariadb:10.7", dependencies: highest, experimental: false }
3837
- { php-version: 8.0, database: "mariadb:10.7", dependencies: lowest, experimental: false }
3938
- { php-version: 8.1, database: "mariadb:10.7", dependencies: highest, experimental: false }
4039
services:
@@ -74,6 +73,14 @@ jobs:
7473
chmod 755 .github/ci/scripts/setup-pimcore-x-environment.sh
7574
.github/ci/scripts/setup-pimcore-x-environment.sh
7675
76+
- name: "Update Pimcore version"
77+
env:
78+
PIMCORE_VERSION: "${{ matrix.pimcore_version }}"
79+
run: |
80+
if [ ! -z "$PIMCORE_VERSION" ]; then
81+
composer require --no-update pimcore/pimcore:"${PIMCORE_VERSION} as 10.99.9"
82+
fi
83+
7784
- name: "Install dependencies with Composer"
7885
uses: "ramsey/composer-install@v2"
7986
with:
@@ -90,4 +97,4 @@ jobs:
9097
bin/console doctrine:migrations:sync-metadata-storage -vvv
9198
9299
- name: "Run Codeception"
93-
run: "vendor/bin/codecept run -c . -vvv --json"
100+
run: "vendor/bin/codecept run -c . -vvv --xml"

Diff for: codeception.dist.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ namespace: DataHubBundle\Tests
22
actor: Tester
33
paths:
44
tests: tests
5-
log: tests/_output
5+
output: tests/_output
66
data: tests/_data
77
support: tests/_support
88
envs: tests/_envs

Diff for: composer.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@
1010
"*": "dist"
1111
}
1212
},
13+
"prefer-stable": true,
14+
"minimum-stability": "dev",
1315
"require": {
14-
"php": "^8.0",
15-
"pimcore/pimcore": "^10.5",
16+
"php": "^8.0 || ^8.1",
17+
"pimcore/pimcore": "dev-test_support_fc_layer || 11.x-dev",
1618
"webonyx/graphql-php": "^14.6"
1719
},
1820
"require-dev": {
1921
"phpstan/phpstan": "^1.6.0",
2022
"phpunit/phpunit": "^9.3",
2123
"symfony/phpunit-bridge": "^6",
22-
"codeception/module-symfony": "^1.6",
23-
"codeception/codeception": "^4.1.12",
24+
"codeception/codeception": "^4.1.12 || ^5.0.3",
2425
"codeception/phpunit-wrapper": "^9",
2526
"codeception/module-asserts": "^2"
2627
},

Diff for: tests/GraphQL.suite.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
actor: GraphQLTester
22
modules:
33
enabled:
4-
- \Pimcore\Tests\Helper\Pimcore:
4+
- \Pimcore\Tests\Support\Helper\Pimcore:
55
connect_db: true
66
cache_router: false

Diff for: tests/GraphQL/ResolveTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121
use Pimcore\Model\Translation;
2222
use Pimcore\Tool;
2323
use Symfony\Component\EventDispatcher\EventDispatcher;
24+
use Codeception\Test\Unit;
2425

2526

26-
class ResolveTest extends \PHPUnit_Framework_TestCase
27+
class ResolveTest extends Unit
2728
{
2829
private Service|null $service;
2930

Diff for: tests/GraphQL/Traits/ElementIdentificationTraitTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
namespace Pimcore\Bundle\DataHubBundle\Tests\GraphQL\Traits;
1717

18-
use PHPUnit_Framework_TestCase;
18+
use Codeception\Test\Unit;
1919
use \Pimcore\Bundle\DataHubBundle\GraphQL\Traits\ElementIdentificationTrait;
2020

2121
use Pimcore\Bundle\DataHubBundle\GraphQL\Exception\ClientSafeException;
@@ -38,7 +38,7 @@ protected function getElementByPath($elementType)
3838
}
3939
}
4040

41-
class ElementIdentificationTraitTest extends PHPUnit_Framework_TestCase
41+
class ElementIdentificationTraitTest extends Unit
4242
{
4343
const TRAIT_TO_TEST = '\Pimcore\Bundle\DataHubBundle\GraphQL\Traits\ElementIdentificationTrait';
4444
const TEST_TYPE = 'object';

Diff for: tests/Model.suite.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ actor: ModelTester
22
modules:
33
enabled:
44
- \DataHubBundle\Tests\Helper\Model
5-
- \Pimcore\Tests\Helper\Pimcore:
5+
- \Pimcore\Tests\Support\Helper\Pimcore:
66
connect_db: true
77
cache_router: false
8-
- \Pimcore\Tests\Helper\ClassManager
8+
- \Pimcore\Tests\Support\Helper\ClassManager

Diff for: tests/Model/ImportingConfigTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
namespace Pimcore\Tests\Model\DataObject;
1717

1818
use Pimcore\Bundle\DataHubBundle\Configuration;
19-
use Pimcore\Tests\Helper\DataType\TestDataHelper;
20-
use Pimcore\Tests\Test\ModelTestCase;
19+
use Pimcore\Tests\Support\Helper\DataType\TestDataHelper;
20+
use Pimcore\Tests\Support\Test\ModelTestCase;
2121
use Pimcore\Model\DataObject\DataHubTestEntity;
2222

2323
/**

Diff for: tests/Service.suite.dist.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
actor: ServiceTester
22
modules:
33
enabled:
4-
- \Pimcore\Tests\Helper\Pimcore:
4+
- \Pimcore\Tests\Support\Helper\Pimcore:
55
connect_db: true
66
cache_router: false

Diff for: tests/Service/CheckConsumerPermissionsServiceTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
*/
1515
namespace Pimcore\Bundle\DataHubBundle\Tests\Controller;
1616

17-
use PHPUnit_Framework_TestCase;
17+
use Codeception\Test\Unit;
1818
use Pimcore\Bundle\DataHubBundle\Configuration;
1919
use Symfony\Component\HttpFoundation\Request;
2020

21-
class CheckConsumerPermissionsServiceTest extends PHPUnit_Framework_TestCase
21+
class CheckConsumerPermissionsServiceTest extends Unit
2222
{
2323
const CORRECT_API_KEY = "correct_key";
2424

Diff for: tests/Service/OutputCacheServiceTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
*/
1515
namespace Pimcore\Bundle\DataHubBundle\Service;
1616

17-
use PHPUnit_Framework_TestCase;
17+
use Codeception\Test\Unit;
1818
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
1919
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
2020
use Symfony\Component\HttpFoundation\Request;
2121
use Symfony\Component\HttpFoundation\JsonResponse;
2222

23-
class OutputCacheServiceTest extends PHPUnit_Framework_TestCase
23+
class OutputCacheServiceTest extends Unit
2424
{
2525

2626
protected $container;

Diff for: tests/_bootstrap.php

+13-8
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,39 @@
11
<?php
22

3-
use Pimcore\Tests\Util\Autoloader;
3+
use Pimcore\Tests\Support\Util\Autoloader;
44

5-
$pimcoreTestsSupportDir = '';
65

76
if (file_exists(__DIR__ . '/../vendor/autoload.php')) {
87
include __DIR__ . '/../vendor/autoload.php';
9-
$pimcoreTestsSupportDir = __DIR__ . '/../vendor/pimcore/pimcore/tests/_support';
8+
$pimcoreTestDir = __DIR__ . '/../vendor/pimcore/pimcore/tests';
109
} elseif (file_exists(__DIR__ . '/../../../../vendor/autoload.php')) {
1110
include __DIR__ . '/../../../../vendor/autoload.php';
12-
$pimcoreTestsSupportDir = __DIR__ . '/../../../../vendor/pimcore/pimcore/tests/_support';
11+
$pimcoreTestDir = __DIR__ . '/../../../../vendor/pimcore/pimcore/tests';
1312
} elseif (getenv('PIMCORE_PROJECT_ROOT') != '' && file_exists(getenv('PIMCORE_PROJECT_ROOT') . '/vendor/autoload.php')) {
1413
include getenv('PIMCORE_PROJECT_ROOT') . '/vendor/autoload.php';
15-
$pimcoreTestsSupportDir = getenv('PIMCORE_PROJECT_ROOT') . '/vendor/pimcore/pimcore/tests/_support';
14+
$pimcoreTestDir = getenv('PIMCORE_PROJECT_ROOT') . '/vendor/pimcore/pimcore/tests';
1615
} elseif (getenv('PIMCORE_PROJECT_ROOT') != '') {
1716
throw new \Exception('Invalid Pimcore project root "' . getenv('PIMCORE_PROJECT_ROOT') . '"');
1817
} else {
1918
throw new \Exception('Unknown configuration! Pimcore project root not found, please set env variable PIMCORE_PROJECT_ROOT.');
2019
}
2120

21+
$pimcoreTestsSupportDir = $pimcoreTestDir . '/Support';
22+
23+
//Pimcore 10 BC layer
24+
if (!is_dir($pimcoreTestsSupportDir)) {
25+
$pimcoreTestsSupportDir = $pimcoreTestDir . '/_support';
26+
}
27+
2228
include $pimcoreTestsSupportDir . '/Util/Autoloader.php';
2329

2430
\Pimcore\Bootstrap::setProjectRoot();
2531
\Pimcore\Bootstrap::bootstrap();
2632

2733
//error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_WARNING);
2834

29-
//Codeception\Util\Autoload::addNamespace();
30-
Autoloader::addNamespace('Pimcore\Tests', $pimcoreTestsSupportDir);
31-
//Autoloader::addNamespace('Pimcore\Model\DataObject', __DIR__ . '/_output/var/classes/DataObject');
35+
Autoloader::addNamespace('Pimcore\Tests', $pimcoreTestsSupportDir); //Pimcore 10 BC layer
36+
Autoloader::addNamespace('Pimcore\Tests\Support', $pimcoreTestsSupportDir);
3237
Autoloader::addNamespace('Pimcore\Model\DataObject', PIMCORE_CLASS_DIRECTORY . '/DataObject');
3338
Autoloader::addNamespace('DataHubBundle\Tests', __DIR__);
3439
Autoloader::addNamespace('DataHubBundle\Tests', __DIR__ . '/_support');

Diff for: tests/_support/Helper/Model.php

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
// here you can define custom actions
66
// all public methods declared in helper class will be available in $I
77

8-
use Pimcore\Bundle\DataHubBundle\Installer;
9-
use Pimcore\Tests\Helper\AbstractDefinitionHelper;
10-
use Pimcore\Tests\Helper\Pimcore;
11-
use Pimcore\Tests\Util\Autoloader;
12-
use Pimcore\Model\DataObject;
8+
use \Pimcore\Bundle\DataHubBundle\Installer;
9+
use Pimcore\Model\DataObject\Customer;
10+
use Pimcore\Tests\Support\Helper\AbstractDefinitionHelper;
11+
use Pimcore\Tests\Support\Helper\ClassManager;
12+
use Pimcore\Tests\Support\Helper\Pimcore;
13+
use Pimcore\Tests\Support\Util\Autoloader;
1314

1415
class Model extends AbstractDefinitionHelper
1516
{
@@ -45,7 +46,7 @@ public function _beforeSuite($settings = [])
4546

4647
public function initializeDefinitions()
4748
{
48-
$cm = $this->getClassManager();
49+
$cm = $this->getModule('\\' . ClassManager::class);
4950
$class = $cm->setupClass('DataHubTestEntity', __DIR__ . '/../Resources/class_DataHubTestEntity_import.json');
5051
$this->prepareData($class);
5152
}

Diff for: tests/_support/Helper/Service.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
use Pimcore\Model\DataObject\ClassDefinition;
55
use Pimcore\Model\DataObject\Unittest;
6-
use Pimcore\Tests\Helper\ClassManager;
7-
use Pimcore\Tests\Helper\DataType\TestDataHelper;
8-
use Pimcore\Tests\Helper\Model;
6+
use Pimcore\Tests\Support\Helper\ClassManager;
7+
use Pimcore\Tests\Support\Helper\DataType\TestDataHelper;
8+
use Pimcore\Tests\Support\Helper\Model;
99
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
1010

1111
class Service extends Model

Diff for: tests/_support/Test/ModelTestCase.php

+4-3
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@
1515

1616
namespace Pimcore\Tests\Test;
1717

18-
use Pimcore\Tests\Helper\DataType\Calculator;
19-
use Pimcore\Tests\ModelTester;
18+
use Pimcore\Tests\Support\Helper\DataType\Calculator;
19+
use Pimcore\Tests\Support\ModelTester;
20+
use Codeception\Test\Unit;
2021

2122
/**
2223
* @property ModelTester $tester
2324
*/
24-
abstract class ModelTestCase extends TestCase
25+
abstract class ModelTestCase extends Unit
2526
{
2627
/**
2728
* {@inheritdoc}

Diff for: tests/_support/Test/TestCase.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
namespace DataHubBundle\Tests\Test;
1717

1818
use Codeception\TestCase\Test;
19-
use Pimcore\Tests\Util\TestHelper;
19+
use Pimcore\Tests\Support\Util\TestHelper;
2020

2121
abstract class TestCase extends Test
2222
{

0 commit comments

Comments
 (0)