@decocms/parity 0.17.2 → 0.17.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/cli.js +13 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.17.3](https://github.com/decocms/parity/compare/v0.17.2...v0.17.3) (2026-07-28)
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
* **`open-minicart` fallback click when already-open drawer is empty (issue #159).** Sites that use a react-query on-demand cart (query `enabled` only when a cart-intent signal is `true`) never hydrate the drawer when it opens via an add-to-cart toast side-effect — the intent signal is only set on an explicit cart-icon click, so the panel renders empty and `validateCartContainsTitle` finds 0 items. When `cartOpenMethod === "already-open"` and validation returns `found=false`, parity now looks up the `minicartTrigger` and clicks it explicitly (mirroring what the user does), waits for cart hydration, then re-validates. The fallback is skipped entirely when the drawer hydrates normally via the initial validation.
|
|
15
|
+
|
|
10
16
|
## [0.17.0](https://github.com/decocms/parity/compare/v0.16.0...v0.17.0) (2026-07-28)
|
|
11
17
|
|
|
12
18
|
### Added
|
package/dist/cli.js
CHANGED
|
@@ -52089,7 +52089,19 @@ async function flowPurchaseJourney(ctx) {
|
|
|
52089
52089
|
}
|
|
52090
52090
|
let step7Validation;
|
|
52091
52091
|
if (expectedProductTitle && cartOpenMethod !== "failed") {
|
|
52092
|
-
|
|
52092
|
+
let v = await validateCartContainsTitle(page, expectedProductTitle, ctx);
|
|
52093
|
+
if (cartOpenMethod === "already-open" && !v.found) {
|
|
52094
|
+
const triggerHit = await firstVisibleLocator(page, selFor(ctx, "minicartTrigger"));
|
|
52095
|
+
if (triggerHit) {
|
|
52096
|
+
dlog2(ctx, "step 7: already-open drawer empty — clicking minicartTrigger to activate on-demand query");
|
|
52097
|
+
miniHit = triggerHit;
|
|
52098
|
+
await triggerHit.locator.click({ timeout: 3000 }).catch(() => {
|
|
52099
|
+
return;
|
|
52100
|
+
});
|
|
52101
|
+
await waitForCartHydration(page);
|
|
52102
|
+
v = await validateCartContainsTitle(page, expectedProductTitle, ctx);
|
|
52103
|
+
}
|
|
52104
|
+
}
|
|
52093
52105
|
let reasonText;
|
|
52094
52106
|
if (!v.found) {
|
|
52095
52107
|
if (v.observedTitles.length === 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decocms/parity",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.3",
|
|
4
4
|
"description": "E2E parity validator for site migrations. Compares prod vs cand and reports UI, functional, SEO, visual, and Web Vitals deltas with an LLM-ranked HTML report.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|