Skip to content

Latest commit

 

History

History
57 lines (44 loc) · 3.72 KB

testing.md

File metadata and controls

57 lines (44 loc) · 3.72 KB

Release 1.0.0 test report

Tested on 8 September 2026 in DDEV with Shopware 6.7.13.1, PHP 8.3.32, MySQL 8.0, Node.js 22.23.2 and Chrome through Playwright. The storefront uses the default Shopware theme and the official Shopware demo data. Filter Counts and the demo data plugin are the only active plugins.

Results

Check Result
Plugin installation and activation Passed
PHP unit tests 8 tests, 19 assertions passed
JavaScript unit tests 4 tests passed
Twig templates and service container Lint passed
Production storefront build and theme compilation Passed
Category listing Correct initial manufacturer, text and colour counts
Actual products versus facet counts All 42 comparisons passed across 14 options and 3 combinations
AJAX updates Counts update for manufacturer, property, price and free-shipping filters
Multiple selections OR selections within a group; counts exclude their own group's selection
Variants Multiple matching variants count as one product card
Filter removal and reset Initial counts restored
Browser back and forward Selections and counts restored
Search results Initial counts and AJAX manufacturer filtering passed
Empty results No product cards; zero counts for incompatible combinations
Mobile, 390 × 844 Offcanvas counts and AJAX selection passed
Empty-option disabling on and off Zero-count options follow Shopware's setting; checked options remain removable
Disabled per sales channel Count labels, JavaScript hook and count aggregation absent
Browser errors No JavaScript errors during the browser tests
Filter response No internal sidworks-facet-* aggregation keys exposed

Reproduce

Run the unit tests from the Shopware project root:

ddev exec php vendor/bin/phpunit -c custom/plugins/SidworksFilterCounts/phpunit.xml.dist
ddev exec node --test custom/plugins/SidworksFilterCounts/tests/Storefront/filter-counts.test.cjs
ddev exec php bin/console lint:twig custom/plugins/SidworksFilterCounts/src/Resources/views
ddev exec php bin/console lint:container

The browser test expects the English, unmodified Clothing category from SwagPlatformDemoData, three product cards, and Filter Counts enabled. It does not create, delete or edit catalogue data. Close open filter dropdowns before using reset buttons during manual testing.

From this plugin's directory on the host, with Chrome installed:

npm install --prefix /tmp/sidworks-browser-tests playwright
PLAYWRIGHT_MODULE=/tmp/sidworks-browser-tests/node_modules/playwright \
SHOPWARE_URL=https://ddev-shopware.ddev.site \
node tests/Storefront/demo-browser.cjs

Set SCREENSHOT_DIR=docs on the same command to regenerate the three README screenshots. Desktop screenshots use 1280 × 1240; the mobile screenshot uses 390 × 844. The script captures the real storefront and does not replace labels, counts or product content.

Configuration checks were also run with core.listing.disableEmptyFilterOptions both true and false, and with SidworksFilterCounts.config.enabled set to false for the storefront sales channel. The original empty-option setting and inherited, enabled plugin setting were restored afterwards.

Scope

This validates the MySQL/DAL path on a small demo catalogue. Elasticsearch/OpenSearch, large-catalogue performance, image-based property previews, product streams, rating filters and third-party themes/search integrations were not tested end to end. SQL/keyword bucket normalization, deduplication, the search-engine term-limit guard and ungrouped stream criteria are covered by unit tests. See technical details for constraints.