← back to Shopify Sample Shipping

verify-cart.mjs

22 lines

import fs from 'node:fs';
import {chromium} from '../Designer-Wallcoverings/node_modules/playwright/index.mjs';
const browser=await chromium.launch({headless:true,executablePath:'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'});
try {
 const page=await browser.newPage();
 await page.goto('https://www.designerwallcoverings.com/cart',{waitUntil:'domcontentloaded',timeout:45000});
 const result=await page.evaluate(async()=>{
  const out=[];
  for(const [name,items] of [['light-sample',[{id:44491735269427,quantity:1}]],['six-samples',[{id:44090076954675,quantity:2},{id:44086096756787,quantity:2},{id:44044973408307,quantity:2}]],['regular-only',[{id:40348093055027,quantity:1}]]]){
   await fetch('/cart/clear.js',{method:'POST'});
   const a=await fetch('/cart/add.js',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({items})});if(!a.ok)throw Error(await a.text());
   const cart=await fetch('/cart.js').then(r=>r.json());
   const r=await fetch('/cart/shipping_rates.json?shipping_address%5Bzip%5D=90069&shipping_address%5Bcountry%5D=United%20States&shipping_address%5Bprovince%5D=California');
   const rates=await r.json();out.push({name,items:cart.items.map(v=>({id:v.variant_id,title:v.title,quantity:v.quantity,grams:v.grams})),totalWeight:cart.total_weight,status:r.status,rates:rates.shipping_rates?.map(v=>({name:v.name,price:v.price}))});
  }
  await fetch('/cart/clear.js',{method:'POST'});
  return {timestamp:new Date().toISOString(),checks:out,cleanup:'Isolated cart cleared; no order created'};
 });
 fs.writeFileSync(new URL('./verification/cart-rollback-verification.json',import.meta.url),JSON.stringify(result,null,2));
 console.log(JSON.stringify(result));
}finally{await browser.close();}