← back to Dw Theme Boost Fix
preview gate PASS on theme 143947038771 (0 staging, facets, paged-mode verified); add .shopifyignore
26f1d45f277872aacd0b63cd9b04c80d92165640 · 2026-07-13 10:14:24 -0700 · Steve Abrams
Files touched
A .shopifyignoreA verify/preview-gate.mjs
Diff
commit 26f1d45f277872aacd0b63cd9b04c80d92165640
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Jul 13 10:14:24 2026 -0700
preview gate PASS on theme 143947038771 (0 staging, facets, paged-mode verified); add .shopifyignore
---
.shopifyignore | 2 ++
verify/preview-gate.mjs | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/.shopifyignore b/.shopifyignore
new file mode 100644
index 0000000..50fe0ab
--- /dev/null
+++ b/.shopifyignore
@@ -0,0 +1,2 @@
+verify/
+.git*
diff --git a/verify/preview-gate.mjs b/verify/preview-gate.mjs
new file mode 100644
index 0000000..1f26621
--- /dev/null
+++ b/verify/preview-gate.mjs
@@ -0,0 +1,34 @@
+import { chromium } from 'playwright';
+const PREVIEW = 'https://www.designerwallcoverings.com/collections/grasscloth-wallpaper-collection?preview_theme_id=143947038771';
+const b = await chromium.launch();
+const ctx = await b.newContext();
+const p = await ctx.newPage();
+const hits = [];
+p.on('response', r => { const u = r.url(); if (u.includes('bc-solutions') || u.includes('mybcapps')) hits.push({ u: u.split('?')[0], s: r.status() }); });
+await p.goto(PREVIEW, { waitUntil: 'load', timeout: 60000 });
+await p.waitForTimeout(12000);
+const staging = hits.filter(h => h.u.includes('staging'));
+const prod200 = hits.filter(h => h.u.includes('mybcapps') && h.s === 200);
+const facets = await p.locator('.boost-sd__filter-option-item, [class*="boost-sd__filter"] li').count().catch(() => 0);
+const toggle = await p.locator('#dw-page-mode').count();
+console.log('HARD GATE — staging requests:', staging.length, '| prod 200s:', prod200.length);
+console.log('facets:', facets, '| toggle pill present:', toggle);
+// switch to paged mode
+if (toggle) {
+ await p.evaluate(() => { const btns = document.querySelectorAll('#dw-page-mode button'); for (const b of btns) if (b.textContent.includes('Pages')) b.click(); });
+ await p.waitForLoadState('load');
+ await p.waitForTimeout(12000);
+ const mode = await p.evaluate(() => localStorage.getItem('dwPaginationMode'));
+ const pagType = await p.evaluate(() => {
+ const c = window.boostSDAppConfig || {};
+ return JSON.stringify({ gs: c.generalSettings && c.generalSettings.paginationType, lim: c.generalSettings && c.generalSettings.limit });
+ });
+ const pagination = await p.locator('[class*="boost-sd__pagination"], .boost-sd__pagination-button, [class*="pagination"] button').count().catch(() => 0);
+ const products = await p.locator('.boost-sd__product-item, [class*="boost-sd__product"]').count().catch(() => 0);
+ console.log('PAGED MODE — localStorage:', mode, '| config:', pagType);
+ console.log('pagination controls:', pagination, '| products rendered:', products);
+}
+await b.close();
+const pass = staging.length === 0 && prod200.length > 0 && facets > 0 && toggle > 0;
+console.log('VERDICT:', pass ? 'PASS' : 'FAIL');
+process.exit(pass ? 0 : 1);
← 965130f pagination user toggle: infinite default, switchable to page
·
back to Dw Theme Boost Fix
·
auto-save: 2026-07-13T10:24:15 (1 files) — verify/live-gate. 0b6e841 →