Skip to content

Commit

Permalink
Upgrade for Sylius 1.13
Browse files Browse the repository at this point in the history
  • Loading branch information
lruozzi9 committed May 27, 2024
1 parent f20700c commit bd8d8ad
Show file tree
Hide file tree
Showing 11 changed files with 89 additions and 54 deletions.
23 changes: 9 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,12 @@ jobs:
strategy:
fail-fast: false
matrix:
php: ["8.0", "8.1", "8.2"]
php: ["8.1", "8.2", "8.3"]
symfony: ["^5.4", "^6.4"]
sylius: ["^1.12.13"]
sylius: ["1.12.16", "1.13.1"]
node: ["18.x"]
mysql: ["8.0"]

exclude:
-
php: "8.0"
symfony: "^6.4"

env:
APP_ENV: test
DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}"
Expand All @@ -51,7 +46,7 @@ jobs:

-
name: Setup Node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: "${{ matrix.node }}"

Expand Down Expand Up @@ -82,14 +77,18 @@ jobs:
name: Run webserver
run: (cd tests/Application && symfony server:start --port=8080 --dir=public --daemon)

-
name: Validate composer.json
run: composer validate --ansi --strict

-
name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

-
name: Cache Composer
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }}
Expand Down Expand Up @@ -126,7 +125,7 @@ jobs:

-
name: Cache Yarn
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-node-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json **/yarn.lock') }}
Expand Down Expand Up @@ -158,10 +157,6 @@ jobs:
name: Load fixtures in test application
run: (cd tests/Application && bin/console sylius:fixtures:load -n)

-
name: Validate composer.json
run: composer validate --ansi --strict

-
name: Validate database schema
run: (cd tests/Application && bin/console doctrine:schema:validate)
Expand Down
45 changes: 26 additions & 19 deletions behat.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,18 @@ imports:
- tests/Behat/Resources/suites.yml

default:
formatters:
pretty:
verbose: true
paths: false
snippets: false

gherkin:
filters:
tags: "~@todo"
extensions:
DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~
Robertfausk\Behat\PantherExtension: ~

FriendsOfBehat\MinkDebugExtension:
directory: etc/build
Expand All @@ -18,32 +25,30 @@ default:
files_path: "%paths.base%/vendor/sylius/sylius/src/Sylius/Behat/Resources/fixtures/"
base_url: "https://127.0.0.1:8080/"
default_session: symfony
javascript_session: chrome_headless
javascript_session: panther
sessions:
symfony:
symfony: ~
chrome_headless:
chromedriver:
chrome:
api_url: http://127.0.0.1:9222
validate_certificate: false
chrome:
selenium2:
browser: chrome
capabilities:
browserName: chrome
browser: chrome
version: ""
marionette: null # https://github.com/Behat/MinkExtension/pull/311
chrome:
switches:
- "start-fullscreen"
- "start-maximized"
- "no-sandbox"
extra_capabilities:
chrome_headless_second_session:
chrome:
api_url: http://127.0.0.1:9222
validate_certificate: false
panther:
panther:
manager_options:
connection_timeout_in_ms: 5000
request_timeout_in_ms: 120000
chromedriver_arguments:
- --log-path=etc/build/chromedriver.log
- --verbose
capabilities:
acceptSslCerts: true
acceptInsecureCerts: true
unexpectedAlertBehaviour: accept
firefox:
selenium2:
browser: firefox
show_auto: false

FriendsOfBehat\SymfonyExtension:
Expand All @@ -56,3 +61,5 @@ default:
FriendsOfBehat\SuiteSettingsExtension:
paths:
- "features"

SyliusLabs\SuiteTagsExtension: ~
15 changes: 8 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,21 @@
],
"license": "MIT",
"require": {
"php": "^8.0",
"php": "^8.1",
"akeneo/api-php-client": "^11",
"cocur/slugify": "^4.0",
"guzzlehttp/guzzle": "^6.5",
"guzzlehttp/guzzle": "^6.5 || ^7.6",
"http-interop/http-factory-guzzle": "^1.0",
"php-http/guzzle6-adapter": "^2.0",
"sylius/mailer-bundle": "^1.8 || ^2.0",
"sylius/sylius": "^1.12.11",
"sylius/sylius": "^1.12.11 || ^1.13",
"symfony/deprecation-contracts": "^2.2",
"symfony/lock": "^5.4 || ^6.0",
"symfony/webpack-encore-bundle": "^1.15"
},
"require-dev": {
"ext-json": "*",
"behat/behat": "^3.14",
"behat/mink-selenium2-driver": "1.6",
"behat/mink-selenium2-driver": "^1.6",
"dbrekelmans/bdi": "^1.1",
"dmore/behat-chrome-extension": "^1.4",
"dmore/chrome-mink-driver": "^2.9",
"friends-of-behat/mink": "^1.11",
Expand All @@ -43,9 +42,11 @@
"phpstan/phpstan-doctrine": "^1.3",
"phpstan/phpstan-strict-rules": "^1.5",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.6",
"phpunit/phpunit": "^9.6 || ^10.5",
"polishsymfonycommunity/symfony-mocker-container": "^1.0",
"robertfausk/behat-panther-extension": "^1.1",
"sylius-labs/coding-standard": "^4.3",
"sylius-labs/suite-tags-extension": "^0.2",
"symfony/browser-kit": "^5.4 || ^6.4",
"symfony/debug-bundle": "^5.4 || ^6.4",
"symfony/dotenv": "^5.4 || ^6.4",
Expand Down
5 changes: 4 additions & 1 deletion phpstan.neon
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
parameters:
level: max
reportUnmatchedIgnoredErrors: false
checkMissingIterableValueType: false
paths:
- src
- tests/Behat
Expand All @@ -15,6 +14,10 @@ parameters:
- 'tests/Application/src/**.php'

ignoreErrors:
-
identifier: missingType.generics # Temp
-
identifier: missingType.iterableValue
- '/Parameter #1 \$configuration of method Symfony\\Component\\DependencyInjection\\Extension\\Extension::processConfiguration\(\) expects Symfony\\Component\\Config\\Definition\\ConfigurationInterface, Symfony\\Component\\Config\\Definition\\ConfigurationInterface\|null given\./'
- '/Method Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface::dispatch\(\) invoked with 2 parameters, 1 required\./'
- '/Parameter \#1 \$event of method Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface::dispatch\(\) expects object, string given\./'
Expand Down
21 changes: 21 additions & 0 deletions symfony.lock
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,15 @@
"config/packages/monolog.yaml"
]
},
"symfony/panther": {
"version": "2.1",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "1.0",
"ref": "673836afb0eac2b0ec36c44f2ff0379e5a4b2177"
}
},
"symfony/routing": {
"version": "6.4",
"recipe": {
Expand Down Expand Up @@ -444,6 +453,18 @@
"webpack.config.js"
]
},
"symfony/workflow": {
"version": "6.4",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
"version": "3.3",
"ref": "3b2f8ca32a07fcb00f899649053943fa3d8bbfb6"
},
"files": [
"config/packages/workflow.yaml"
]
},
"theofidry/alice-data-fixtures": {
"version": "1.7",
"recipe": {
Expand Down
7 changes: 6 additions & 1 deletion tests/Application/config/bundles.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

return [
$bundles = [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
Expand Down Expand Up @@ -61,3 +61,8 @@
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
League\FlysystemBundle\FlysystemBundle::class => ['all' => true],
];
if (class_exists(Sylius\Abstraction\StateMachine\SyliusStateMachineAbstractionBundle::class)) {
$bundles[Sylius\Abstraction\StateMachine\SyliusStateMachineAbstractionBundle::class] = ['all' => true];
}

return $bundles;
2 changes: 1 addition & 1 deletion tests/Integration/AttributeOptions/ImporterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ protected function setUp(): void
'it_IT' => 'Grande',
]));

$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/AttributeOptions/' . $this->getName() . '.yaml';
$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/AttributeOptions/' . $this->name() . '.yaml';
if (file_exists($ORMResourceFixturePath)) {
$fixtureLoader->load(
[$ORMResourceFixturePath],
Expand Down
19 changes: 11 additions & 8 deletions tests/Integration/Product/ImporterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ protected function setUp(): void
]);
InMemoryProductApi::addResource($this->startWarsTShirtMAkeneoProduct);

$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/Product/' . $this->getName() . '.yaml';
$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/Product/' . $this->name() . '.yaml';
if (file_exists($ORMResourceFixturePath)) {
$this->fixtureLoader->load(
[$ORMResourceFixturePath],
Expand Down Expand Up @@ -420,13 +420,16 @@ public function it_sets_all_channels_to_imported_products(): void
*/
public function it_imports_all_product_images_when_importing_variants_of_configurable_product(): void
{
$this->startWarsTShirtMAkeneoProduct->values = [
'image' => [[
'locale' => null,
'scope' => null,
'data' => 'star_wars_m.jpeg',
]],
];
$this->startWarsTShirtMAkeneoProduct->values = array_merge_recursive(
$this->startWarsTShirtMAkeneoProduct->values,
[
'image' => [[
'locale' => null,
'scope' => null,
'data' => 'star_wars_m.jpeg',
]],
],
);
$startWarsTShirtLAkeneoProduct = Product::create('STAR_WARS_TSHIRT_L', [
'family' => $this->tShirtFamily->code,
'parent' => $this->starWarsTShirtProductModel->code,
Expand Down
2 changes: 1 addition & 1 deletion tests/Integration/Product/ReconcilerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ protected function setUp(): void
$this->productVariantRepository = self::getContainer()->get('sylius.repository.product_variant');
$fixtureLoader = self::getContainer()->get('fidry_alice_data_fixtures.loader.doctrine');

$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Reconciler/Product/' . $this->getName() . '.yaml';
$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Reconciler/Product/' . $this->name() . '.yaml';
if (file_exists($ORMResourceFixturePath)) {
$fixtureLoader->load(
[$ORMResourceFixturePath],
Expand Down
2 changes: 1 addition & 1 deletion tests/Integration/ProductAssociations/ImporterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ protected function setUp(): void
],
]));

$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/ProductAssociations/' . $this->getName() . '.yaml';
$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/ProductAssociations/' . $this->name() . '.yaml';
if (file_exists($ORMResourceFixturePath)) {
$this->fixtureLoader->load(
[$ORMResourceFixturePath],
Expand Down
2 changes: 1 addition & 1 deletion tests/Integration/ProductModel/ImporterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ protected function setUp(): void
]);
InMemoryProductApi::addResource($startWarsTShirtMAkeneoProduct);

$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/ProductModel/' . $this->getName() . '.yaml';
$ORMResourceFixturePath = DataFixture::path . '/ORM/resources/Importer/ProductModel/' . $this->name() . '.yaml';
if (file_exists($ORMResourceFixturePath)) {
$fixtureLoader->load(
[$ORMResourceFixturePath],
Expand Down

0 comments on commit bd8d8ad

Please sign in to comment.