mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-09-30 12:39:42 +02:00
84 lines
3.8 KiB
JavaScript
84 lines
3.8 KiB
JavaScript
const { chromium } = require("playwright");
|
|
|
|
(async () => {
|
|
const browser = await chromium.launch({ headless: true });
|
|
const page = await browser.newPage();
|
|
page.setDefaultTimeout(10000);
|
|
|
|
await page.goto("http://localhost:3199", { waitUntil: "domcontentloaded" });
|
|
await page.waitForTimeout(3000);
|
|
|
|
// Click first session tab
|
|
await page.locator(".session-tab").first().click();
|
|
await page.waitForTimeout(500);
|
|
|
|
// Open session options
|
|
await page.locator(".session-tab.active .tab-gear").click();
|
|
await page.waitForTimeout(500);
|
|
|
|
// Function to check VISIBILITY of summary elements
|
|
async function checkSummaryVisibility(tabName) {
|
|
console.log("\n=== " + tabName.toUpperCase() + " TAB ===");
|
|
|
|
// Check if summary-specific elements are VISIBLE (not just in DOM)
|
|
|
|
const summarySection = page.locator(".modal:visible #summary-section, .modal:visible [id*='summary']");
|
|
const summaryVisible = await summarySection.first().isVisible().catch(() => false);
|
|
|
|
const timelineSection = page.locator(".modal:visible .run-timeline, .modal:visible [class*='timeline']");
|
|
const timelineVisible = await timelineSection.first().isVisible().catch(() => false);
|
|
|
|
const filterButtons = page.locator(".modal:visible .filter-btn, .modal:visible [class*='filter']");
|
|
const filterVisible = await filterButtons.first().isVisible().catch(() => false);
|
|
|
|
const exportBtns = page.locator(".modal:visible .export-btn, .modal:visible button:has-text('Copy'), .modal:visible button:has-text('Download')");
|
|
const exportVisible = await exportBtns.first().isVisible().catch(() => false);
|
|
|
|
console.log(" Summary section visible:", summaryVisible);
|
|
console.log(" Timeline visible:", timelineVisible);
|
|
console.log(" Filter buttons visible:", filterVisible);
|
|
console.log(" Export buttons visible:", exportVisible);
|
|
|
|
return { summaryVisible, timelineVisible, filterVisible, exportVisible };
|
|
}
|
|
|
|
// Check Respawn tab (default)
|
|
const respawn = await checkSummaryVisibility("Respawn");
|
|
|
|
// Check Context tab
|
|
await page.locator(".modal:visible .modal-tab-btn[data-tab='context']").click();
|
|
await page.waitForTimeout(200);
|
|
const context = await checkSummaryVisibility("Context");
|
|
|
|
// Check Ralph tab
|
|
await page.locator(".modal:visible .modal-tab-btn[data-tab='ralph']").click();
|
|
await page.waitForTimeout(200);
|
|
const ralph = await checkSummaryVisibility("Ralph");
|
|
|
|
// Check Summary tab
|
|
await page.locator(".modal:visible .modal-tab-btn[data-tab='summary']").click();
|
|
await page.waitForTimeout(200);
|
|
const summary = await checkSummaryVisibility("Summary");
|
|
|
|
await browser.close();
|
|
|
|
console.log("\n=== FINAL BUG ASSESSMENT ===");
|
|
const hasBugRespawn = respawn.summaryVisible || respawn.timelineVisible;
|
|
const hasBugContext = context.summaryVisible || context.timelineVisible;
|
|
const hasBugRalph = ralph.summaryVisible || ralph.timelineVisible;
|
|
const summaryWorking = summary.summaryVisible || summary.timelineVisible;
|
|
|
|
console.log("Respawn tab leaking summary content:", hasBugRespawn ? "YES - BUG EXISTS" : "No - Fixed");
|
|
console.log("Context tab leaking summary content:", hasBugContext ? "YES - BUG EXISTS" : "No - Fixed");
|
|
console.log("Ralph tab leaking summary content:", hasBugRalph ? "YES - BUG EXISTS" : "No - Fixed");
|
|
console.log("Summary tab showing its content:", summaryWorking ? "Yes - Working correctly" : "No - Check if empty or hidden");
|
|
|
|
const bugFixed = (hasBugRespawn === false) && (hasBugContext === false) && (hasBugRalph === false);
|
|
if (bugFixed) {
|
|
console.log("\n*** BUG IS FIXED - Summary content only appears in Summary tab ***");
|
|
} else {
|
|
console.log("\n*** BUG STILL EXISTS - Summary content bleeding to other tabs ***");
|
|
}
|
|
|
|
})().catch(e => { console.error(e); process.exit(1); });
|