import { test, expect } from '@playwright/test'; import { importUser, isLinuxEnvironment, getOSSpecificTimeout } from './testUtils'; test('Check usage limits', async ({ page }) => { const TIMEOUT = getOSSpecificTimeout(); // Check without ID first await page.goto('./account'); await expect(page.locator('div.bg-slate-100.rounded-md').filter({ hasText: 'Usage Limits' })).toBeHidden(); // Import user 01 const did = await importUser(page, '01'); // Verify that "Usage Limits" section is visible with increased timeout await expect(page.locator('#sectionUsageLimits')).toBeVisible({ timeout: TIMEOUT }); await expect(page.locator('#sectionUsageLimits')).toContainText('You have done', { timeout: TIMEOUT }); if (!isLinuxEnvironment()) { await expect(page.locator('#sectionUsageLimits')).toContainText('You have uploaded'); } // Add conditional checks for Linux environment if (!isLinuxEnvironment()) { await expect(page.getByText('Your image counter resets')).toBeVisible({ timeout: TIMEOUT }); } // These checks should work on all environments await expect(page.getByText('Your claims counter resets')).toBeVisible({ timeout: TIMEOUT }); await expect(page.getByText('Your registration counter resets')).toBeVisible({ timeout: TIMEOUT }); await expect(page.getByRole('button', { name: 'Recheck Limits' })).toBeVisible({ timeout: TIMEOUT }); // Set name await page.getByRole('button', { name: 'Set Your Name' }).click(); const name = 'User ' + did.slice(11, 14); await page.getByPlaceholder('Name').fill(name); await page.getByRole('button', { name: 'Save', exact: true }).click(); });