mirror of
https://github.com/hanzoai/team.git
synced 2026-10-30 14:49:35 +00:00
86 lines
3.6 KiB
TypeScript
86 lines
3.6 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {expect, test} from '@mattermost/playwright-lib';
|
|
|
|
/**
|
|
* @objective Capture snapshots of settings modal and key focused elements on keyboard navigation
|
|
*/
|
|
test(
|
|
'settings modal visual check',
|
|
{tag: ['@visual', '@settings', '@snapshots']},
|
|
async ({pw, browserName, viewport}, testInfo) => {
|
|
// # Create and sign in a new user
|
|
const {user} = await pw.initSetup();
|
|
|
|
// # Log in a user in new browser context
|
|
const {page, channelsPage} = await pw.testBrowser.login(user);
|
|
const globalHeader = channelsPage.globalHeader;
|
|
const settingsModal = channelsPage.settingsModal;
|
|
|
|
// # Visit a default channel page
|
|
await channelsPage.goto();
|
|
await channelsPage.toBeVisible();
|
|
|
|
// # Set focus to Settings button and press Enter
|
|
await globalHeader.settingsButton.focus();
|
|
await page.keyboard.press('Enter');
|
|
|
|
// * Settings modal should be visible and focus should be on the modal
|
|
await expect(settingsModal.container).toBeVisible();
|
|
await pw.toBeFocusedWithFocusVisible(settingsModal.container);
|
|
|
|
const testArgs = {page, browserName, viewport};
|
|
await pw.hideDynamicChannelsContent(page);
|
|
await pw.matchSnapshot(
|
|
{...testInfo, title: `${testInfo.title}`},
|
|
{...testArgs, locator: settingsModal.content},
|
|
);
|
|
|
|
// # Press Tab to move focus to Close button
|
|
await page.keyboard.press('Tab');
|
|
// * Verify focus is on Close button
|
|
await pw.toBeFocusedWithFocusVisible(settingsModal.closeButton);
|
|
await pw.matchSnapshot(
|
|
{...testInfo, title: `${testInfo.title} close button`},
|
|
{...testArgs, locator: settingsModal.content},
|
|
);
|
|
|
|
// # Press Tab to move focus to Notifications tab
|
|
await page.keyboard.press('Tab');
|
|
// * Verify focus is on Notifications tab and Notifications Settings panel is visible
|
|
await pw.toBeFocusedWithFocusVisible(settingsModal.notificationsTab);
|
|
await pw.matchSnapshot(
|
|
{...testInfo, title: `${testInfo.title} notifications tab`},
|
|
{...testArgs, locator: settingsModal.content},
|
|
);
|
|
|
|
// # Press arrow down key to move focus to Display tab
|
|
await page.keyboard.press('ArrowDown');
|
|
// * Verify focus is on Display tab and Display Settings panel is visible
|
|
await pw.toBeFocusedWithFocusVisible(settingsModal.displayTab);
|
|
await pw.matchSnapshot(
|
|
{...testInfo, title: `${testInfo.title} display tab`},
|
|
{...testArgs, locator: settingsModal.content},
|
|
);
|
|
|
|
// # Press arrow down key to move focus to Sidebar tab
|
|
await page.keyboard.press('ArrowDown');
|
|
// * Verify focus is on Sidebar tab and Sidebar Settings panel is visible
|
|
await pw.toBeFocusedWithFocusVisible(settingsModal.sidebarTab);
|
|
await pw.matchSnapshot(
|
|
{...testInfo, title: `${testInfo.title} sidebar tab`},
|
|
{...testArgs, locator: settingsModal.content},
|
|
);
|
|
|
|
// # Press arrow down key to move focus to Advanced tab
|
|
await page.keyboard.press('ArrowDown');
|
|
// * Verify focus is on Advanced tab and Advanced Settings panel is visible
|
|
await pw.toBeFocusedWithFocusVisible(settingsModal.advancedTab);
|
|
await pw.matchSnapshot(
|
|
{...testInfo, title: `${testInfo.title} advanced tab`},
|
|
{...testArgs, locator: settingsModal.content},
|
|
);
|
|
},
|
|
);
|