import { test, expect } from '@playwright/test';

test('#8 Footer payment icons should not scroll page to top when clicked', async ({ page }) => {
  // Step 1: Go to the shop page
  await page.goto('https://uat.dailykart.net/shop', { waitUntil: 'domcontentloaded' });

  // Step 2: Scroll to the bottom of the page
  await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
  await page.waitForTimeout(1000); // wait for footer content to load

  // Step 3: Capture current scroll position
  const initialScrollY = await page.evaluate(() => window.scrollY);
  console.log(`Initial scroll position: ${initialScrollY}`);

  // Step 4: Select all payment icons that use href="#" (adjust selector as needed)
  const paymentIcons = await page.$$('footer a[href="#"]');
  const count = paymentIcons.length;
  console.log(`Found ${count} payment icons.`);

  expect(count).toBeGreaterThan(0); // make sure icons exist

  // Step 5: Click each icon and verify scroll doesn't jump to top
  for (let i = 0; i < count; i++) {
    const icon = paymentIcons[i];
    await icon.scrollIntoViewIfNeeded();
    await icon.click();
    await page.waitForTimeout(300);

    const currentScrollY = await page.evaluate(() => window.scrollY);
    console.log(`After clicking icon ${i + 1}, scrollY: ${currentScrollY}`);

    // Assert the scroll doesn't jump to top (0)
    expect(currentScrollY).toBeGreaterThan(0);
   if (currentScrollY < initialScrollY - 2000) {
  console.warn(` Scroll jumped unexpectedly after clicking icon ${i + 1}. Initial: ${initialScrollY}, Now: ${currentScrollY}`);
   } else 
    {
  expect(currentScrollY).toBeGreaterThan(0);
}
  }
});
