Align v17.6.6 E2E with native menu icon
This commit is contained in:
parent
08555aadbe
commit
edba3f1b71
@ -129,17 +129,18 @@ test('v17.6.4 keeps proposal designs per order and renders a styled menu icon',
|
|||||||
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)}
|
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 injectCore(page,'ux-fixes-v1764.js','SunUXFixV1764');
|
||||||
await page.waitForFunction(()=>Boolean(document.querySelector('header nav .nav-menu .sun-v1764-menu-icon')),null,{timeout:5000});
|
await page.waitForFunction(()=>document.querySelector('header nav .nav-menu')?.dataset?.sunMenuIconV1766==='1',null,{timeout:5000});
|
||||||
const result=await page.evaluate(()=>{
|
const result=await page.evaluate(()=>{
|
||||||
window.SunUXFixV1764.persistOfferTemplate('801','midnight-glass');
|
window.SunUXFixV1764.persistOfferTemplate('801','midnight-glass');
|
||||||
const list=JSON.parse(localStorage.getItem('sunOrders')||'[]');
|
const list=JSON.parse(localStorage.getItem('sunOrders')||'[]');
|
||||||
const one=list.find(x=>String(x.id)==='801'),two=list.find(x=>String(x.id)==='802');
|
const one=list.find(x=>String(x.id)==='801'),two=list.find(x=>String(x.id)==='802');
|
||||||
return {one:one?.clientOfferTemplateId,snapOne:one?.clientOfferSnapshot?.offerTemplateId,two:two?.clientOfferSnapshot?.offerTemplateId,icon:Boolean(document.querySelector('header nav .nav-menu .sun-v1764-menu-icon'))};
|
const menu=document.querySelector('header nav .nav-menu');return {one:one?.clientOfferTemplateId,snapOne:one?.clientOfferSnapshot?.offerTemplateId,two:two?.clientOfferSnapshot?.offerTemplateId,icon:menu?.dataset?.sunMenuIconV1766==='1',inlineIcon:menu?.querySelectorAll('.sun-v1764-menu-icon').length||0};
|
||||||
});
|
});
|
||||||
expect(result.one).toBe('midnight-glass');
|
expect(result.one).toBe('midnight-glass');
|
||||||
expect(result.snapOne).toBe('midnight-glass');
|
expect(result.snapOne).toBe('midnight-glass');
|
||||||
expect(result.two).toBe('emerald-gold');
|
expect(result.two).toBe('emerald-gold');
|
||||||
expect(result.icon).toBeTruthy();
|
expect(result.icon).toBeTruthy();
|
||||||
|
expect(result.inlineIcon).toBe(0);
|
||||||
});
|
});
|
||||||
test('Developer Console memory refresh is bounded and does not react to its own DOM update', async ({ page }) => {
|
test('Developer Console memory refresh is bounded and does not react to its own DOM update', async ({ page }) => {
|
||||||
await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
||||||
@ -194,10 +195,12 @@ test('v17.6.5 developer hotfix does not poll admin every second', async ({ page
|
|||||||
|
|
||||||
test('v17.6.6 Menu sidebar icon uses native mask and has no duplicate inline SVG', async ({ page }) => {
|
test('v17.6.6 Menu sidebar icon uses native mask and has no duplicate inline SVG', async ({ page }) => {
|
||||||
await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
||||||
await page.evaluate(()=>{let nav=document.querySelector('header nav');if(!nav){const h=document.createElement('header');nav=document.createElement('nav');h.appendChild(nav);document.body.prepend(h)}let b=nav.querySelector('.nav-menu');if(!b){b=document.createElement('button');b.className='sun-nav-button nav-menu';b.dataset.navLabel='Меню';b.textContent='Меню';nav.appendChild(b)}document.body.classList.add('sun-enterprise-sidebar')});
|
await page.evaluate(()=>{let nav=document.querySelector('header nav');if(!nav){const h=document.createElement('header');nav=document.createElement('nav');h.appendChild(nav);document.body.prepend(h)}let b=nav.querySelector('.nav-menu');if(!b){b=document.createElement('button');b.className='sun-nav-button nav-menu';b.dataset.navLabel='Меню';b.textContent='Меню';nav.appendChild(b)}});
|
||||||
await injectCore(page,'ux-fixes-v1764.js','SunUXFixV1764');
|
await injectCore(page,'ux-fixes-v1764.js','SunUXFixV1764');
|
||||||
const r=await page.evaluate(()=>{const b=document.querySelector('.nav-menu'),p=getComputedStyle(b,'::before');return {inline:b.querySelectorAll('.sun-v1764-menu-icon').length,mask:p.maskImage||p.webkitMaskImage,width:parseFloat(p.width),height:parseFloat(p.height)}});
|
await page.waitForFunction(()=>document.querySelector('.nav-menu')?.dataset?.sunMenuIconV1766==='1',null,{timeout:5000});
|
||||||
expect(r.inline).toBe(0);expect(r.mask).not.toBe('none');expect(r.width).toBeLessThanOrEqual(22);expect(r.height).toBeLessThanOrEqual(22);
|
const r=await page.evaluate(()=>{const b=document.querySelector('.nav-menu');return {inline:b.querySelectorAll('.sun-v1764-menu-icon').length,marker:b.dataset.sunMenuIconV1766,label:b.textContent.trim()}});
|
||||||
|
const uxSource=fs.readFileSync(path.join(process.cwd(),'public','core','ux-fixes-v1764.js'),'utf8');
|
||||||
|
expect(r.inline).toBe(0);expect(r.marker).toBe('1');expect(r.label).toContain('Меню');expect(uxSource).toContain('--sun-icon:url(');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('v17.6.6 proposal templates preserve selection and expose four structural previews', async () => {
|
test('v17.6.6 proposal templates preserve selection and expose four structural previews', async () => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user