Skip to content

Commit 6126782

Browse files
authored
chore: add E2E tests for last Tab/Shift+Tab commit (#252)
- adding missing tests for last commit
1 parent 1b06a99 commit 6126782

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

playwright/e2e/options25.spec.ts

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { test } from '@playwright/test';
1+
import { expect, test } from '@playwright/test';
22

33
test.describe('Options 25 - Show OK Button', () => {
44
test('show OK button on multiple select only', async ({ page }) => {
@@ -8,18 +8,45 @@ test.describe('Options 25 - Show OK Button', () => {
88
await page.getByRole('option').filter({ hasText: 'March' }).locator('span').click();
99
await page.getByRole('option').filter({ hasText: 'February' }).locator('span').click();
1010
await page.getByRole('button', { name: 'OK' }).click();
11+
await expect(page.locator('div[data-test=select1] .ms-drop')).toBeHidden();
1112

1213
await page.locator('[data-test=select2].ms-parent').click();
1314
await page.getByRole('option', { name: 'Group 1' }).click();
1415
await page.getByRole('option', { name: 'Group 2' }).click();
1516
await page.getByRole('button', { name: 'OK' }).click();
17+
await expect(page.locator('div[data-test=select2] .ms-drop')).toBeHidden();
1618

1719
await page.locator('[data-test=select3].ms-parent').click();
1820
await page.locator('div:nth-child(2) > label > .icon-checkbox-container').click();
1921
await page.getByRole('button', { name: 'OK' }).click();
22+
await expect(page.locator('div[data-test=select3] .ms-drop')).toBeHidden();
2023

2124
await page.locator('[data-test=select4].ms-parent').click();
2225
await page.locator('[data-test=select4] ul > li').nth(2).click();
2326
await page.locator('span').filter({ hasText: 'Third' });
27+
await expect(page.locator('div[data-test=select4] .ms-drop')).toBeHidden();
28+
});
29+
30+
test('Tab and Shift+Tab to switch from OK button to List', async ({ page }) => {
31+
// 1st select
32+
await page.goto('#/options25');
33+
await page.locator('[data-test=select1].ms-parent').click();
34+
await page.getByRole('option', { name: 'April' }).click();
35+
await page.getByRole('option').filter({ hasText: 'March' }).locator('span').click();
36+
await page.getByRole('option').filter({ hasText: 'February' }).locator('span').click();
37+
await expect(page.locator('div[data-test=select1] .ms-drop')).not.toBeHidden();
38+
await page.keyboard.press('Tab');
39+
await expect(page.locator('div[data-test=select1] .ms-ok-button')).toBeFocused();
40+
await page.keyboard.press('Shift+Tab');
41+
await expect(page.locator('div[data-test=select1] .ms-select-all input')).toBeFocused();
42+
await page.keyboard.press('Shift+Tab');
43+
await expect(page.locator('div[data-test=select1] .ms-drop')).toBeHidden();
44+
45+
// last select Shift+Tab will close drop
46+
await page.locator('[data-test=select4].ms-parent').click();
47+
await page.keyboard.press('ArrowDown');
48+
await page.keyboard.press('ArrowDown');
49+
await page.keyboard.press('Shift+Tab');
50+
await expect(page.locator('div[data-test=select4] .ms-drop')).toBeHidden();
2451
});
2552
});

0 commit comments

Comments
 (0)