Skip to content

Commit dc32d6f

Browse files
committed
[UC-22] Refactor migrations and test configurations for Sylius User.com integration
1 parent 5bc419e commit dc32d6f

16 files changed

Lines changed: 48 additions & 72 deletions

File tree

.github/workflows/build.yml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -145,16 +145,16 @@ jobs:
145145
run: (cd tests/Application && yarn install)
146146

147147
-
148-
name: Prepare test application assets
148+
name: Prepare test application database
149149
run: |
150-
vendor/bin/console assets:install -vvv
151-
yarn --cwd vendor/sylius/test-application encore prod
150+
(cd tests/Application && bin/console doctrine:database:create -vvv)
151+
(cd tests/Application && bin/console doctrine:schema:create -vvv)
152152
153153
-
154-
name: Prepare test application database
154+
name: Prepare test application assets
155155
run: |
156-
vendor/bin/console doctrine:database:create -vvv
157-
vendor/bin/console doctrine:migrations:migrate --no-interaction -vvv
156+
(cd tests/Application && bin/console assets:install public -vvv)
157+
(cd tests/Application && yarn build:prod)
158158
159159
-
160160
name: Prepare test application cache
@@ -176,10 +176,6 @@ jobs:
176176
name: Run PHPStan
177177
run: vendor/bin/phpstan analyse -c phpstan.neon -l max src/
178178

179-
-
180-
name: Run PHPSpec
181-
run: vendor/bin/phpspec run --ansi -f progress --no-interaction
182-
183179
-
184180
name: Run PHPUnit
185181
run: vendor/bin/phpunit --colors=always

behat.yml.dist

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,8 @@ imports:
33
- tests/Behat/Resources/suites.yml
44

55
default:
6-
formatters:
7-
pretty:
8-
verbose: true
9-
paths: false
10-
snippets: false
11-
126
extensions:
137
DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~
14-
Robertfausk\Behat\PantherExtension: ~
158

169
FriendsOfBehat\MinkDebugExtension:
1710
directory: etc/build
@@ -22,30 +15,14 @@ default:
2215
files_path: "%paths.base%/vendor/sylius/sylius/src/Sylius/Behat/Resources/fixtures/"
2316
base_url: "https://127.0.0.1:8080/"
2417
default_session: symfony
25-
javascript_session: panther
18+
javascript_session: chrome
2619
sessions:
2720
symfony:
2821
symfony: ~
29-
chromedriver:
22+
chrome:
3023
chrome:
3124
api_url: http://127.0.0.1:9222
3225
validate_certificate: false
33-
chrome_headless_second_session:
34-
chrome:
35-
api_url: http://127.0.0.1:9222
36-
validate_certificate: false
37-
panther:
38-
panther:
39-
manager_options:
40-
connection_timeout_in_ms: 5000
41-
request_timeout_in_ms: 120000
42-
chromedriver_arguments:
43-
- --log-path=etc/build/chromedriver.log
44-
- --verbose
45-
capabilities:
46-
acceptSslCerts: true
47-
acceptInsecureCerts: true
48-
unexpectedAlertBehaviour: accept
4926
show_auto: false
5027

5128
FriendsOfBehat\SymfonyExtension:
@@ -58,5 +35,3 @@ default:
5835
FriendsOfBehat\SuiteSettingsExtension:
5936
paths:
6037
- "features"
61-
62-
SyliusLabs\SuiteTagsExtension: ~

src/Api/AbstractClient.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ protected function request(
107107
protected function getApiEndpointUrl(
108108
UserComApiAwareInterface $resource,
109109
string $endpoint,
110-
string $query = null,
110+
?string $query = null,
111111
): string {
112112
if (null === $resource->getUserComUrl()) {
113113
throw new \InvalidArgumentException('User.com API key is missing.');

src/DependencyInjection/BitBagSyliusUserComExtension.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Sylius\Bundle\CoreBundle\DependencyInjection\PrependDoctrineMigrationsTrait;
88
use Sylius\Bundle\ResourceBundle\DependencyInjection\Extension\AbstractResourceExtension;
9+
use Symfony\Component\Config\Definition\ConfigurationInterface;
910
use Symfony\Component\Config\FileLocator;
1011
use Symfony\Component\DependencyInjection\ContainerBuilder;
1112
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
@@ -26,16 +27,19 @@ public function load(array $configs, ContainerBuilder $container): void
2627
public function prepend(ContainerBuilder $container): void
2728
{
2829
$this->prependDoctrineMigrations($container);
30+
31+
$config = $this->getCurrentConfiguration($container);
2932
}
3033

3134
protected function getMigrationsNamespace(): string
3235
{
33-
return 'DoctrineMigrations';
36+
return 'Sylius\BitBagSyliusUserComPlugin\Migrations';
3437
}
3538

39+
3640
protected function getMigrationsDirectory(): string
3741
{
38-
return '@BitBagSyliusUserComPlugin/migrations';
42+
return '@BitBagSyliusUserComPlugin/src/Migrations';
3943
}
4044

4145
protected function getNamespacesOfMigrationsExecutedBefore(): array
@@ -44,4 +48,15 @@ protected function getNamespacesOfMigrationsExecutedBefore(): array
4448
'Sylius\Bundle\CoreBundle\Migrations',
4549
];
4650
}
51+
52+
53+
private function getCurrentConfiguration(ContainerBuilder $container): array
54+
{
55+
/** @var ConfigurationInterface $configuration */
56+
$configuration = $this->getConfiguration([], $container);
57+
58+
$configs = $container->getExtensionConfig($this->getAlias());
59+
60+
return $this->processConfiguration($configuration, $configs);
61+
}
4762
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace DoctrineMigrations;
5+
namespace BitBag\SyliusUserComPlugin\Migrations;
66

77
use Doctrine\DBAL\Schema\Schema;
88
use Doctrine\Migrations\AbstractMigration;

tests/Application/config/bootstrap.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Symfony\Component\Dotenv\Dotenv;
66

7-
require dirname(__DIR__).'../../../vendor/autoload.php';
7+
require dirname(__DIR__) . '../../../vendor/autoload.php';
88

99
// Load cached env vars if the .env.local.php file exists
1010
// Run "composer dump-env prod" to create it (requires symfony/flex >=1.2)

tests/Application/config/bundles.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@
6969
BitBag\SyliusUserComPlugin\BitBagSyliusUserComPlugin::class => ['all' => true],
7070
];
7171

72+
if (class_exists(FriendsOfBehat\SymfonyExtension\Bundle\FriendsOfBehatSymfonyExtensionBundle::class)) {
73+
$bundles[FriendsOfBehat\SymfonyExtension\Bundle\FriendsOfBehatSymfonyExtensionBundle::class] = ['test' => true, 'test_cached' => true];
74+
}
75+
7276
if (class_exists(winzou\Bundle\StateMachineBundle\winzouStateMachineBundle::class)) {
7377
$bundles[winzou\Bundle\StateMachineBundle\winzouStateMachineBundle::class] = ['all' => true];
7478
}

tests/Application/config/packages/doctrine_migrations.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@ doctrine_migrations:
22
storage:
33
table_storage:
44
table_name: sylius_migrations
5+
migrations_paths:
6+
'App\Migrations': '%kernel.project_dir%/../../src/Migrations/'
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
framework:
22
test: ~
33
session:
4-
storage_factory_id: session.storage.factory.mock_file
4+
handler_id: ~

0 commit comments

Comments
 (0)