[object Object]

← 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

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 →