Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0-Upgrade Build Fixes #269

Merged
merged 15 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 13 additions & 17 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- 'dependabot/**'
pull_request: ~
release:
types: [ created ]
types: [created]
schedule:
- cron: "0 1 * * 6" # Run at 1am every Saturday
workflow_dispatch: ~
Expand All @@ -20,11 +20,11 @@ jobs:
strategy:
fail-fast: false
matrix:
php: [ "8.1", "8.2", "8.3" ]
symfony: [ "^5.4", "^6.0" ]
sylius: [ "~1.13.0" ]
node: [ "18.x", "20.x" ]
mysql: [ "5.7", "8.0" ]
php: [ "8.2", "8.3" ]
symfony: [ "^7.1" ]
sylius: [ "^2.0" ]
node: [ "20.x" ]
mysql: [ "8.0" ]
env:
APP_ENV: test
DATABASE_URL: "mysql://root:[email protected]/sylius?serverVersion=${{ matrix.mysql }}"
Expand Down Expand Up @@ -76,7 +76,7 @@ jobs:
run: google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1 > /dev/null 2>&1 &

- name: Run webserver
run: (cd tests/Application && symfony server:start --port=8080 --dir=public --daemon)
run: (cd tests/Application && symfony server:start --port=8080 --dir=public --daemon && symfony -V)

- name: Get Composer cache directory
id: composer-cache
Expand Down Expand Up @@ -104,9 +104,6 @@ jobs:
- name: Install PHP dependencies
run: composer install --no-interaction --no-scripts

- name: Install Behat driver
run: vendor/bin/bdi browser:google-chrome drivers

- name: Get Yarn cache directory
id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
Expand Down Expand Up @@ -150,21 +147,20 @@ jobs:
- name: Run PHPUnit
run: vendor/bin/phpunit --colors=always

- name: Run Behat
if: ${{ matrix.sylius != '^1.13.0' }}
run: vendor/bin/behat --colors --strict -vvv --no-interaction --tags '~@sylius113' || vendor/bin/behat --colors --strict -vvv --no-interaction --rerun --tags '~@sylius113'
- name: Create behat logs directory
run: (mkdir -p etc/build && chmod a+rw etc/build )

- name: Run Behat
if: ${{ matrix.sylius == '^1.13.0' }}
run: vendor/bin/behat --colors --strict -vvv --no-interaction --tags '~@sylius112' || vendor/bin/behat --colors --strict -vvv --no-interaction --rerun --tags '~@sylius112'
run: vendor/bin/behat --colors --strict -vvv --no-interaction || vendor/bin/behat --colors --strict -vvv --no-interaction --rerun

- name: Upload Behat logs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: Behat logs
path: etc/build/
if-no-files-found: ignore
overwrite: true

- name: Run PHPUnit
run: vendor/bin/phpunit --colors=always
Expand All @@ -179,4 +175,4 @@ jobs:
SLACK_MESSAGE: ':x:'
SLACK_TITLE: Failed build on ${{ github.event.repository.name }} repository
SLACK_USERNAME: ${{ secrets.FAILED_BUILD_SLACK_USERNAME }}
SLACK_WEBHOOK: ${{ secrets.FAILED_BUILD_SLACK_WEBHOOK }}
SLACK_WEBHOOK: ${{ secrets.FAILED_BUILD_SLACK_WEBHOOK }}
8 changes: 4 additions & 4 deletions .github/workflows/coding_standard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
strategy:
fail-fast: false
matrix:
php: [ "8.1", "8.2", "8.3" ]
symfony: [ "^5.4", "^6.4" ]
sylius: [ "^1.12", "^1.13" ]
node: [ "18.x", "20.x" ]
php: [ "8.2", "8.3" ]
symfony: [ "^7.1" ]
sylius: [ "^2.0" ]
node: [ "20.x" ]

steps:
- uses: actions/checkout@v3
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import './scss/main.scss'
import './js/'
import './js'
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import './scss/main.scss'
import './js/'
import './js'
File renamed without changes.
2 changes: 2 additions & 0 deletions assets/shop/scss/main.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@import 'elasticSearchAutocomplete';

4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
"friendsofsymfony/elastica-bundle": "^6.0",
"sylius/sylius": "~2.0.0",
"symfony/property-access": "^6.4 || ^7.1",
"symfony/webpack-encore-bundle": "^2.2",
"symfony/proxy-manager-bridge": "^6.4 || ^7.1"
"symfony/proxy-manager-bridge": "^6.4 || ^7.1",
"symfony/webpack-encore-bundle": "^2.2"
},
"require-dev": {
"behat/behat": "^3.16",
Expand Down
30 changes: 30 additions & 0 deletions config/api_platform/Product.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>

<resources
xmlns="https://api-platform.com/schema/metadata/resources-3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://api-platform.com/schema/metadata/resources-3.0 https://api-platform.com/schema/metadata/resources-3.0.xsd"
>
<resource class="%sylius.model.product.class%">
<operations>
<operation
name="elasticsearch_shop_get"
class="ApiPlatform\Metadata\GetCollection"
uriTemplate="/shop/products/search"
paginationEnabled="false"
provider="bitbag_sylius_elasticsearch_plugin.api.data_provider.product_collection"
>
<normalizationContext>
<values>
<value name="groups">
<values>
<value>shop:product:index</value>
<value>sylius:shop:product:index</value>
</values>
</value>
</values>
</normalizationContext>
</operation>
</operations>
</resource>
</resources>
99 changes: 99 additions & 0 deletions src/Resources/config/config.yml → config/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ sylius_twig_hooks:
props:
template: "@BitBagSyliusElasticsearchPlugin/Shop/SearchForm/searchForm.html.twig"
priority: 0

'bitbag.sylius_elasticsearch_plugin.site_wide_search.index':
content:
template: '@SyliusShop/product/index/content.html.twig'
Expand Down Expand Up @@ -134,3 +135,101 @@ sylius_twig_hooks:
order_by: 'price'
sort: 'asc'
priority: 200

'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index':
content:
template: '@SyliusShop/product/index/content.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content':
breadcrumbs:
template: "@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/breadcrumbs.html.twig"
priority: 100
body:
template: '@SyliusShop/product/index/content/body.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body':
sidebar:
template: '@SyliusShop/product/index/content/body/sidebar.html.twig'
priority: 100
main:
template: '@SyliusShop/product/index/content/body/main.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.sidebar':
facets:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/sidebar/facets.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.main':
filters:
template: '@SyliusShop/product/index/content/body/main/filters.html.twig'
priority: 200
search:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/search.html.twig'
priority: 150
products:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/products.html.twig'
priority: 100
pagination:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/pagination.html.twig'
priority: 0

'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.main.filters':
controls:
template: '@SyliusShop/product/index/content/body/main/filters/controls.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.main.filters.controls':
limit:
template: '@SyliusShop/product/index/content/body/main/filters/controls/limit.html.twig'
priority: 100
sorting:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/sorting.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.main.filters.controls.limit':
toggle:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/limit/toggle.html.twig'
priority: 100
menu:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/limit/menu.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.main.filters.controls.sorting':
toggle:
template: '@SyliusShop/product/index/content/body/main/filters/controls/sorting/toggle.html.twig'
priority: 100
menu:
template: '@SyliusShop/product/index/content/body/main/filters/controls/sorting/menu.html.twig'
priority: 0
'bitbag.sylius_elasticsearch_plugin.taxon_products_search.index.content.body.main.filters.controls.sorting.menu':
bestsellers:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/sorting/item.html.twig'
configuration:
title: 'bitbag_sylius_elasticsearch_plugin.ui.bestsellers'
order_by: 'sold_units'
sort: 'desc'
priority: 600
newest:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/sorting/item.html.twig'
configuration:
title: 'bitbag_sylius_elasticsearch_plugin.ui.newest'
order_by: 'product_created_at'
sort: 'desc'
priority: 500
oldest:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/sorting/item.html.twig'
configuration:
title: 'bitbag_sylius_elasticsearch_plugin.ui.oldest'
order_by: 'product_created_at'
sort: 'asc'
priority: 400
most_expensive:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/sorting/item.html.twig'
configuration:
title: 'bitbag_sylius_elasticsearch_plugin.ui.most_expensive'
order_by: 'price'
sort: 'desc'
priority: 300
cheapest:
template: '@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/content/body/main/sorting/item.html.twig'
configuration:
title: 'bitbag_sylius_elasticsearch_plugin.ui.cheapest'
order_by: 'price'
sort: 'asc'
priority: 200
6 changes: 3 additions & 3 deletions src/Resources/config/routing.yml → config/routing.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
bitbag_sylius_elasticsearch_plugin_shop_list_products:
path: /{_locale}/products-list/{slug}
bitbag_sylius_elasticsearch_plugin_shop_taxon_products:
path: /{_locale}/taxons/{slug}
defaults:
_controller: bitbag_sylius_elasticsearch_plugin.controller.action.shop.taxon_products_search
template: "@BitBagSyliusElasticsearchPlugin/Shop/Product/index.html.twig"
template: "@BitBagSyliusElasticsearchPlugin/Shop/TaxonProductsSearch/index.html.twig"
requirements:
slug: .+

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<argument type="service" id="bitbag_sylius_elasticsearch_plugin.api.request_data_handler" />
<argument type="service" id="bitbag_sylius_elasticsearch_plugin.finder.search_products" />
<argument type="service" id="bitbag_sylius_elasticsearch_plugin.api.resolver.facets" />
<tag name="api_platform.collection_data_provider" priority="10" />
<tag name="api_platform.state_provider" priority="10" />
</service>
</services>
</container>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@
<tag name="twig.extension" />
</service>

<service id="bitbag.sylius_elasticsearch_plugin.twig.context_provider.search_form_provider" class="BitBag\SyliusElasticsearchPlugin\Twig\ContextProvider\SearchFormProvider">
<argument type="service" id="form.factory" />
<tag name="sylius.ui.template_event.context_provider" />
</service>

<service
id="bitbag.sylius_elasticsearch_plugin.twig.component.product_search_form"
class="BitBag\SyliusElasticsearchPlugin\Twig\Component\SearchFormComponent"
Expand Down
12 changes: 3 additions & 9 deletions spec/Controller/Action/Shop/TaxonProductsSearchActionSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
use Symfony\Component\Form\FormFactoryInterface;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Twig\Environment;
Expand All @@ -49,29 +48,24 @@ function it_is_initializable(): void
}

function it_renders_product_list(
Request $request,
FormFactoryInterface $formFactory,
FormInterface $form,
ParameterBag $queryParameters,
DataHandlerInterface $dataHandler,
Pagerfanta $pagerfanta,
FormView $formView,
Environment $twig,
Response $response,
ShopProductsFinderInterface $finder,
ShopProductsFinderInterface $finder
): void {
$form->getData()->willReturn([]);
$form->isValid()->willReturn(true);
$form->isSubmitted()->willReturn(true);
$form->handleRequest($request)->willReturn($form);
$form->handleRequest(Argument::any())->willReturn($form);
$form->createView()->willReturn($formView);

$formFactory->create(ShopProductsFilterType::class)->willReturn($form);
$request->query = $queryParameters;
$queryParameters->all()->willReturn([]);

$request->get('template')->willReturn('@Template');
$request->get('slug')->willReturn(null);
$request = new Request(query: ['slug' => null], attributes: ['template' => '@Template']);

$dataHandler->retrieveData(['slug' => null])->willReturn(['taxon' => null]);

Expand Down
1 change: 1 addition & 0 deletions spec/Facet/TaxonFacetSpec.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ function it_returns_taxon_name_as_bucket_label(TaxonRepositoryInterface $taxonRe
{
$taxon = new Taxon();
$taxon->setCurrentLocale('en_US');
$taxon->setFallbackLocale('en_US');
$taxon->setName('Taxon 1');
$taxonRepository->findOneBy(['code' => 'taxon_1'])->shouldBeCalled()->willReturn($taxon);

Expand Down
Loading
Loading