run browser acceptance outside Istanbul timezone

This commit is contained in:
2026-09-06 19:22:52 +03:00
parent 97592a05c0
commit fa3fdf0fee
3 changed files with 16 additions and 5 deletions
+9 -5
View File
@@ -18,8 +18,10 @@ const url = await new Promise((resolve, reject) => {
});
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
const evidence = { url, checks: {}, scope: 'Yerel sentetik QA; gerçek başvuru veya dış sağlayıcı çağrısı yapılmadı.' };
const context = await browser.newContext({ timezoneId: 'America/New_York' });
const page = await context.newPage();
await page.setViewportSize({ width: 1440, height: 1000 });
const evidence = { url, checks: { browserTimezone: 'America/New_York' }, scope: 'Yerel sentetik QA; gerçek başvuru veya dış sağlayıcı çağrısı yapılmadı.' };
try {
const response = await page.goto(url, { waitUntil: 'networkidle' });
evidence.checks.signInStatus = response?.status();
@@ -54,7 +56,8 @@ try {
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ı.');
} finally { await rm(icsDir, { recursive: true, force: true }); }
const readyPage = await browser.newPage({ viewport: { width: 1440, height: 1000 } });
const readyPage = await context.newPage();
await readyPage.setViewportSize({ width: 1440, height: 1000 });
try {
const readyResponse = await readyPage.goto(`${url.replace(/\/qa-signin$/, '')}/qa-source-update?ready=1&file=1`, { waitUntil: 'networkidle' });
evidence.checks.readyPreparationStatus = readyResponse?.status();
@@ -80,7 +83,8 @@ try {
evidence.checks.overviewStatus = overview?.status();
evidence.checks.overviewFrames = await page.locator('iframe[title^="Hazırlık"]').count();
if (evidence.checks.overviewFrames !== 3) throw new Error('Hazırlık özeti üç görünüm alanında açılmadı.');
const mobile = await browser.newPage({ viewport: { width: 390, height: 844 }, deviceScaleFactor: 1 });
const mobile = await context.newPage();
await mobile.setViewportSize({ width: 390, height: 844 });
try {
const mobileResponse = await mobile.goto(url, { waitUntil: 'networkidle' });
evidence.checks.mobileStatus = mobileResponse?.status();
@@ -97,7 +101,7 @@ try {
if (!evidence.checks.mobileTenderList) throw new Error('390px görünümünde ihale listesi bulunamadı.');
} finally { await mobile.close(); }
} finally {
await page.close(); await browser.close(); server.kill('SIGTERM');
await page.close(); await context.close(); await browser.close(); server.kill('SIGTERM');
}
await mkdir('docs/quality/evidence', { recursive: true });
await writeFile('docs/quality/evidence/qa-browser-acceptance-runtime.json', JSON.stringify(evidence, null, 2) + '\n');