persist imported calendar events across reloads
This commit is contained in:
@@ -102,12 +102,18 @@ try {
|
||||
await page.locator('input[aria-label="ICS takvim dosyası seç"]').setInputFiles(icsPath);
|
||||
await page.getByText('1 harici etkinlik içe aktarıldı.', { exact: true }).waitFor();
|
||||
evidence.checks.icsImported = true;
|
||||
evidence.checks.icsStorageScoped = await page.evaluate(() => Object.keys(sessionStorage).some(key => key.startsWith('ihaleist_imported_calendar:')));
|
||||
if (!evidence.checks.icsStorageScoped) throw new Error('ICS kaydı hesap kapsamlı sessionStorage anahtarı kullanmıyor.');
|
||||
evidence.checks.icsStorageScoped = await page.evaluate(() => Object.keys(localStorage).some(key => key.startsWith('ihaleist_imported_calendar:')));
|
||||
if (!evidence.checks.icsStorageScoped) throw new Error('ICS kaydı hesap kapsamlı localStorage anahtarı kullanmıyor.');
|
||||
await page.getByRole('button', { name: 'Keşfet' }).click();
|
||||
await page.getByRole('button', { name: 'İhale Takvimi' }).click();
|
||||
evidence.checks.icsPersistsAfterTabChange = await page.getByText('1 harici etkinlik içe aktarıldı.', { exact: true }).count() === 1;
|
||||
if (!evidence.checks.icsPersistsAfterTabChange) throw new Error('ICS kaydı sekme değişiminden sonra korunmadı.');
|
||||
await page.reload({ waitUntil: 'networkidle' });
|
||||
await page.getByRole('button', { name: 'Keşfet', exact: true }).click();
|
||||
await page.getByRole('button', { name: 'İhale Takvimi' }).click();
|
||||
await page.getByText('1 harici etkinlik içe aktarıldı.', { exact: true }).waitFor({ state: 'attached', timeout: 10_000 });
|
||||
evidence.checks.icsPersistsAfterReload = await page.getByText('1 harici etkinlik içe aktarıldı.', { exact: true }).count() === 1;
|
||||
if (!evidence.checks.icsPersistsAfterReload) throw new Error('ICS kaydı sayfa yenilemesinden sonra korunmadı.');
|
||||
await page.goto(`${url.replace(/\/qa-signin$/, '')}/qa-switch-account?account=other`, { waitUntil: 'networkidle' });
|
||||
await page.getByRole('button', { name: 'Keşfet' }).click();
|
||||
await page.getByRole('button', { name: 'İhale Takvimi' }).click();
|
||||
@@ -119,7 +125,7 @@ try {
|
||||
await page.getByText('1 harici etkinlik içe aktarıldı.', { exact: true }).waitFor({ state: 'attached', timeout: 10_000 });
|
||||
evidence.checks.primaryIcsRestored = await page.getByText('1 harici etkinlik içe aktarıldı.', { exact: true }).count() === 1;
|
||||
if (!evidence.checks.primaryIcsRestored) {
|
||||
const storage = await page.evaluate(() => Object.fromEntries(Object.keys(sessionStorage).map(key => [key, sessionStorage.getItem(key)])));
|
||||
const storage = await page.evaluate(() => Object.fromEntries(Object.keys(localStorage).filter(key => key.startsWith('ihaleist_imported_calendar:')).map(key => [key, localStorage.getItem(key)])));
|
||||
throw new Error(`İlk hesabın ICS etkinliği hesap değişiminden sonra geri yüklenmedi: ${JSON.stringify(storage)}`);
|
||||
}
|
||||
} finally { await rm(icsDir, { recursive: true, force: true }); }
|
||||
|
||||
Reference in New Issue
Block a user