From 443c4a0958aaeefd57938cdc904609aad6570a5a Mon Sep 17 00:00:00 2001 From: pavlov346346-source Date: Mon, 7 Sep 2026 20:04:24 +0300 Subject: [PATCH] Make v17.6.4 browser regressions deterministic --- tests/app.spec.mjs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/app.spec.mjs b/tests/app.spec.mjs index a43d38a..33b21f7 100644 --- a/tests/app.spec.mjs +++ b/tests/app.spec.mjs @@ -98,15 +98,15 @@ test('v17.6.3 developer gate bypasses workspace loading and SaaS click is safe', }); test('v17.6.4 auto-completes and fully pays an order one minute after scheduled time', async ({ page }) => { await page.addInitScript(()=>{ - localStorage.setItem('sunOrders',JSON.stringify([{id:764,event:'Тест авто-завершения',date:'2026-09-07',time:'12:00',status:'Новый',prepayment:100,total:1500,lines:[]}])) + localStorage.setItem('sunOrders',JSON.stringify([{id:764,event:'Тест авто-завершения',date:'2099-09-07',time:'12:00',status:'Новый',prepayment:100,total:1500,lines:[]}])) }); await page.goto('/index.html',{waitUntil:'domcontentloaded'}); await injectCore(page,'ux-fixes-v1764.js','SunUXFixV1764'); const result=await page.evaluate(()=>{ window.orderTotalValue=()=>1500; - const run=window.SunUXFixV1764.autoCompleteOrders(new Date('2026-09-07T12:01:01').getTime(),{silent:true}); + const run=window.SunUXFixV1764.autoCompleteOrders(new Date('2099-09-07T12:01:01').getTime(),{silent:true}); const order=JSON.parse(localStorage.getItem('sunOrders')||'[]').find(x=>String(x.id)==='764'); - return {run,prepayment:order?.prepayment,balance:order?.balance,status:order?.status,auto:Boolean(order?.sunAutoCompletedAt),classDate:window.SunUXFixV1764.classificationDate(order,'2026-09-07')}; + return {run,prepayment:order?.prepayment,balance:order?.balance,status:order?.status,auto:Boolean(order?.sunAutoCompletedAt),classDate:window.SunUXFixV1764.classificationDate(order,'2099-09-07')}; }); expect(result.run.changed).toBe(1); expect(result.prepayment).toBe(1500); @@ -118,12 +118,16 @@ test('v17.6.4 auto-completes and fully pays an order one minute after scheduled test('v17.6.4 keeps proposal designs per order and renders a styled menu icon', async ({ page }) => { await page.addInitScript(()=>{ localStorage.setItem('sunOrders',JSON.stringify([ - {id:801,event:'Editorial',date:'2026-09-08',time:'12:00',clientOfferSnapshot:{version:8,offerTemplateId:'editorial-grid'}}, - {id:802,event:'Emerald',date:'2026-09-08',time:'13:00',clientOfferSnapshot:{version:8,offerTemplateId:'emerald-gold'}} + {id:801,event:'Editorial',date:'2099-09-08',time:'12:00',clientOfferSnapshot:{version:8,offerTemplateId:'editorial-grid'}}, + {id:802,event:'Emerald',date:'2099-09-08',time:'13:00',clientOfferSnapshot:{version:8,offerTemplateId:'emerald-gold'}} ])); }); await page.goto('/index.html',{waitUntil:'domcontentloaded'}); - await injectCore(page,'ops-ux-v1762.js','SunOpsUXV1762'); + await page.evaluate(()=>{ + let nav=document.querySelector('header nav'); + if(!nav){const header=document.createElement('header');nav=document.createElement('nav');header.appendChild(nav);document.body.prepend(header)} + let menu=nav.querySelector('.nav-menu');if(!menu){menu=document.createElement('button');menu.type='button';menu.className='sun-nav-button nav-menu';menu.dataset.navLabel='Меню';menu.textContent='Меню';nav.appendChild(menu)} + }); await injectCore(page,'ux-fixes-v1764.js','SunUXFixV1764'); await page.waitForFunction(()=>Boolean(document.querySelector('header nav .nav-menu .sun-v1764-menu-icon')),null,{timeout:5000}); const result=await page.evaluate(()=>{