diff --git a/config/webpackDevServer.config.js b/config/webpackDevServer.config.js index 8ea4eb2fb..12e45ceda 100644 --- a/config/webpackDevServer.config.js +++ b/config/webpackDevServer.config.js @@ -45,7 +45,9 @@ module.exports = function (proxy, allowedHost) { port: sockPort }, overlay:{ - errors: true, + runtimeErrors: (error) => { + return (error.message !== 'ResizeObserver loop limit exceeded'); + }, warnings: false } }, diff --git a/src/app/views/query-response/QueryResponse.tsx b/src/app/views/query-response/QueryResponse.tsx index 0daadc91a..d2a07514c 100644 --- a/src/app/views/query-response/QueryResponse.tsx +++ b/src/app/views/query-response/QueryResponse.tsx @@ -107,7 +107,7 @@ const QueryResponse = () => { flex: 1 }} onScroll={onScroll}> {
{ test.describe('Settings button', () => { test('should change theme settings', async () => { - const settingsButton = page.locator('[aria-label="Settings"]'); + const settingsButton = page.getByLabel('Settings'); await settingsButton.click(); - const changeThemeButton = page.locator('button[role="menuitem"]:has-text("Change theme")'); + const changeThemeButton = page.getByRole('menuitem', { name: 'Change theme' }); await changeThemeButton.click(); await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(200); expect(await page.screenshot({ clip: { x: 300, y: 0, width: 1920, height: 1080 } })).toMatchSnapshot(); await page.locator('text=Dark').click(); - const closeThemeDialogButton = page.locator('button:has-text("Close")'); + const closeThemeDialogButton = page.getByRole('button', { name: 'Close' }); await closeThemeDialogButton.click(); - await page.locator('[aria-label="Settings"]').click(); - await changeThemeButton.click(); - await page.locator('text=High contrast').click(); await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(200); + await settingsButton.click(); + await changeThemeButton.click(); + await page.locator('text=High contrast').click(); expect(await page.screenshot({ clip: { x: 300, y: 0, width: 1920, height: 1080 } })).toMatchSnapshot(); await closeThemeDialogButton.click(); + await page.evaluate(() => document.fonts.ready); + await page.waitForTimeout(200); await settingsButton.click(); await changeThemeButton.click(); await page.locator('text=Light').click(); - await page.evaluate(() => document.fonts.ready); - await page.waitForTimeout(200); expect(await page.screenshot({ clip: { x: 300, y: 0, width: 1920, height: 1080 } })).toMatchSnapshot(); await page.locator('text=Close').click(); }); test('should get a sandbox with sample data', async () => { test.slow(); - await page.locator('[aria-label="Settings"]').click(); await page.evaluate(() => document.fonts.ready); - await page.waitForTimeout(700); + await page.waitForTimeout(200); + await page.getByLabel('Settings').click(); const [page1] = await Promise.all([ page.waitForEvent('popup'), - page.locator('text=Get a sandbox with sample data').click() + await page.getByRole('menuitem', { name: 'Get a sandbox with sample data' }).click() ]); expect(page1.url()).toBe('https://developer.microsoft.com/en-US/microsoft-365/dev-program'); }) diff --git a/src/tests/ui/anonymous-experiences/sidebar.spec.ts b/src/tests/ui/anonymous-experiences/sidebar.spec.ts index 42472f6db..ce9376ea8 100644 --- a/src/tests/ui/anonymous-experiences/sidebar.spec.ts +++ b/src/tests/ui/anonymous-experiences/sidebar.spec.ts @@ -14,8 +14,8 @@ test.describe('Resources Explorer', () => { await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(200); expect(await page.screenshot()).toMatchSnapshot(); - await page.locator('text=admin (5)').click(); - await page.locator('text=admin').nth(1).click(); + await page.getByLabel('admin (6)').click(); + await page.getByRole('link', { name: 'GET' }).click(); await page.waitForTimeout(200); await page.evaluate(() => document.fonts.ready); expect(await page.screenshot()).toMatchSnapshot(); @@ -79,18 +79,18 @@ test.describe.serial('Sample Query tab', () => { await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(200); expect(await page.screenshot()).toMatchSnapshot(); - await page.locator('[placeholder="Search sample queries"]').click(); - await page.locator('[placeholder="Search sample queries"]').fill('drive'); + await page.getByPlaceholder('Search sample queries').click(); + await page.getByPlaceholder('Search sample queries').fill('drive'); await page.evaluate(() => document.fonts.ready); expect(await page.screenshot()).toMatchSnapshot(); await page.locator('[aria-label="list items in my drive"]').click(); await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(200); expect(await page.screenshot()).toMatchSnapshot(); - await page.getByRole('row', { name: 'OneDrive has 5 results 4 of 6' }).getByRole('button', { name: 'expand collapse group' }).click(); + await page.getByLabel('OneDrive has 5 results 4 of').getByLabel('expand collapse group').click(); await page.evaluate(() => document.fonts.ready); expect(await page.screenshot()).toMatchSnapshot(); - await page.getByRole('gridcell', { name: 'my recent files' }).click(); + await page.getByLabel('getmy recent files').click(); await page.waitForTimeout(200); await page.evaluate(() => document.fonts.ready); }) diff --git a/src/tests/ui/responsiveness/mobile-responsive.spec.ts b/src/tests/ui/responsiveness/mobile-responsive.spec.ts index 03296e257..28fac5d17 100644 --- a/src/tests/ui/responsiveness/mobile-responsive.spec.ts +++ b/src/tests/ui/responsiveness/mobile-responsive.spec.ts @@ -51,7 +51,7 @@ test.describe('Sidebar navigation', () => { test.describe('Request area navigation', () => { test('should have permissions tab in overflow menu', async () => { - await page.getByRole('tablist').filter({hasText:'Request body' }).getByRole('button',{name: 'More items'}).click(); + await page.getByLabel('More request area items').click(); await page.getByRole('menuitem', { name: 'Modify permissions' }).click(); await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(500); @@ -60,7 +60,7 @@ test.describe('Request area navigation', () => { }) test('should have access token tab in overflow menu', async () => { - await page.getByRole('tablist').filter({hasText:'Request body' }).getByRole('button',{name: 'More items'}).click(); + await page.getByLabel('More request area items').click(); await page.getByRole('menuitem', { name: 'Access token' }).click(); page.getByText('To view your access token, sign in to Graph Explorer.'); expect(await page.screenshot()).toMatchSnapshot(); @@ -68,7 +68,9 @@ test.describe('Request area navigation', () => { }); test.describe('Response area navigation', () => { test('should have code snippets tab in overflow menu', async () => { - await page.getByRole('tablist').filter({hasText:'Response preview'}).getByRole('button',{name:'More items' }).click(); + await page.evaluate(() => document.fonts.ready); + await page.waitForTimeout(200); + await page.getByLabel('More response area items').click(); await page.getByRole('menuitem', { name: 'Code snippets' }).click(); await page.getByRole('tab', { name: 'C# C#' }).click(); await page.evaluate(() => document.fonts.ready); @@ -82,7 +84,7 @@ test.describe('Response area navigation', () => { await page.getByRole('button', { name: 'Run query' }).click(); await page.evaluate(() => document.fonts.ready); await page.waitForTimeout(1000); - await page.getByRole('tablist').filter({ hasText: 'Response preview' }).getByRole('button', { name: 'More items' }).click(); + await page.getByLabel('More response area items').click(); await page.getByRole('menuitem', { name: 'Adaptive cards' }).click(); await page.getByRole('tabpanel', { name: 'Adaptive cards' }).getByRole('tab', { name: 'Card' }).click(); expect(page.getByText('Megan Bowen')).toBeDefined(); @@ -93,17 +95,17 @@ test.describe('Response area navigation', () => { expect(await page.screenshot()).toMatchSnapshot(); }) test('should have toolkit component tab in overflow menu', async () => { - await page.getByRole('tablist').filter({ hasText: 'Response preview' }).getByRole('button', { name: 'More items' }).click(); + await page.getByLabel('More response area items').click(); await page.getByRole('menuitem', { name: 'Toolkit component' }).click(); - await page.waitForTimeout(500); + await page.waitForTimeout(700); await page.evaluate(() => document.fonts.ready); expect(page.locator('text=Open this example in')).toBeDefined(); expect(await page.screenshot()).toMatchSnapshot(); }); test('should have expand component tab in overflow menu', async () => { - await page.getByRole('tablist').filter({ hasText: 'Response preview' }).getByRole('button', { name: 'More items' }).click(); + await page.getByLabel('More response area items').click(); await page.getByRole('menuitem', { name: 'Expand response' }).click(); - await page.getByRole('button', { name: 'More items' }).click(); + await page.getByRole('tab', { name: 'More items' }).click(); await page.getByRole('menuitem', { name: 'Code snippets' }).click(); await page.getByRole('tab', { name: 'C# C#' }).click(); await page.evaluate(() => document.fonts.ready);