24 lines
1.8 KiB
JavaScript
24 lines
1.8 KiB
JavaScript
export async function bootCalendar(page,context,counts=[3,4,9,11]){
|
|
await context.addInitScript(()=>{window.print=()=>{};window.close=()=>{};localStorage.setItem('sunCalendarMode','month');localStorage.setItem('sunOrderStatusFeatureEnabledV1','1')});
|
|
await page.route('**://api.caterium.ru/**',r=>r.abort());
|
|
await page.route('**://*.supabase.co/**',r=>r.abort());
|
|
await page.goto('/index.html',{waitUntil:'domcontentloaded'});
|
|
await page.waitForFunction(()=>window.CateriumDataV1773&&window.SunAdminRBACV3&&window.__cateriumOrderEnhancementsV1775);
|
|
const dates=await page.evaluate(counts=>{
|
|
window.SunCloudV2={getSession:()=>({user:{id:'calendar-test'}}),getWorkspace:()=>({id:'calendar-test',role:'admin',permissions:{}}),getClient:()=>null,status:()=>({connected:true,signedIn:true,membershipsLoaded:true}),hasPermission:()=>true};
|
|
const now=new Date(),keys=[];orders.splice(0);
|
|
counts.forEach((count,day)=>{
|
|
const d=new Date(now.getFullYear(),now.getMonth(),10+day),date=`${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;keys.push(date);
|
|
for(let i=0;i<count;i++)orders.push({id:1000+day*100+i,date,time:`${String(8+i).padStart(2,'0')}:00`,event:`Мероприятие ${i+1}`,status:'Новый',lines:[],total:5000,prepayment:i%3?1000:0,autoCompletionDisabled:true});
|
|
});
|
|
localStorage.setItem('sunOrders',JSON.stringify(orders));window.dispatchEvent(new Event('sun:cloud-permissions-changed'));return keys;
|
|
},counts);
|
|
await page.getByRole('button',{name:'Календарь',exact:true}).click();
|
|
return dates;
|
|
}
|
|
|
|
export async function printCalendar(page,context){
|
|
const promise=context.waitForEvent('page');await page.locator('#calPrint').click();
|
|
const popup=await promise;await popup.waitForLoadState('domcontentloaded');return popup;
|
|
}
|