Skip to content

Commit 1cb8db1

Browse files
committed
test: use vaadin testing helpers
1 parent 2a7d3d4 commit 1cb8db1

File tree

12 files changed

+165
-199
lines changed

12 files changed

+165
-199
lines changed

packages/vaadin-context-menu/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,8 @@
6767
"devDependencies": {
6868
"@esm-bundle/chai": "^4.1.5",
6969
"@open-wc/rollup-plugin-html": "^1.2.5",
70-
"@open-wc/testing-helpers": "^1.8.12",
7170
"@polymer/iron-component-page": "^4.0.0",
72-
"@polymer/iron-test-helpers": "^3.0.0",
71+
"@vaadin/testing-helpers": "^0.1.3",
7372
"@web/dev-server": "^0.1.5",
7473
"@web/test-runner": "^0.12.7",
7574
"@web/test-runner-saucelabs": "^0.4.1",

packages/vaadin-context-menu/test/common.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

packages/vaadin-context-menu/test/context.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { expect } from '@esm-bundle/chai';
22
import sinon from 'sinon';
3-
import { fixtureSync } from '@open-wc/testing-helpers';
3+
import { fixtureSync, fire } from '@vaadin/testing-helpers';
44
import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
55
import '@vaadin/vaadin-list-box/vaadin-list-box.js';
66
import '@vaadin/vaadin-item/vaadin-item.js';
7-
import { fire } from './common.js';
87
import './not-animated-styles.js';
98
import '../vaadin-context-menu.js';
109

packages/vaadin-context-menu/test/device-detector.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { expect } from '@esm-bundle/chai';
2-
import { fixtureSync } from '@open-wc/testing-helpers';
3-
import { isIOS } from './common.js';
2+
import { fixtureSync, isIOS } from '@vaadin/testing-helpers';
43
import '../src/vaadin-device-detector.js';
54

65
describe('device detector', () => {

packages/vaadin-context-menu/test/integration.test.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import { expect } from '@esm-bundle/chai';
2-
import { aTimeout, fixtureSync } from '@open-wc/testing-helpers';
3-
import { makeSoloTouchEvent, tap } from '@polymer/iron-test-helpers/mock-interactions.js';
2+
import { aTimeout, click, fixtureSync, isIOS, makeSoloTouchEvent } from '@vaadin/testing-helpers';
43
import { PolymerElement, html } from '@polymer/polymer/polymer-element.js';
5-
import { isIOS } from './common.js';
64
import './not-animated-styles.js';
75
import '../vaadin-context-menu.js';
86

@@ -34,7 +32,7 @@ describe('integration', () => {
3432
});
3533

3634
it('should open context menu on .open(e)', () => {
37-
tap(button);
35+
click(button);
3836
expect(menu.opened).to.eql(true);
3937
});
4038

packages/vaadin-context-menu/test/items.test.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
import { expect } from '@esm-bundle/chai';
22
import sinon from 'sinon';
3-
import { fixtureSync, nextFrame } from '@open-wc/testing-helpers';
4-
import { fire, isIOS } from './common.js';
5-
import { afterNextRender } from '@polymer/polymer/lib/utils/render-status.js';
3+
import {
4+
arrowDownKeyDown,
5+
arrowUpKeyDown,
6+
enterKeyDown,
7+
fire,
8+
fixtureSync,
9+
isIOS,
10+
nextFrame,
11+
nextRender,
12+
spaceKeyDown
13+
} from '@vaadin/testing-helpers';
614
import '@vaadin/vaadin-list-box/vaadin-list-box.js';
715
import '@vaadin/vaadin-item/vaadin-item.js';
816
import './not-animated-styles.js';
@@ -29,11 +37,6 @@ describe('items', () => {
2937
return menu.$.overlay.content.querySelector('vaadin-context-menu');
3038
};
3139

32-
const nextRender = (el) =>
33-
new Promise((resolve) => {
34-
afterNextRender(el, () => resolve());
35-
});
36-
3740
afterEach(() => {
3841
rootMenu.close();
3942
});
@@ -119,7 +122,6 @@ describe('items', () => {
119122
rootMenu.$.overlay.style.bottom = rootItemRect.height * 2 + 'px';
120123
rootMenu.$.overlay.setAttribute('bottom-aligned', '');
121124
open(menuComponents()[0]);
122-
123125
await nextRender(subMenu);
124126
const rootMenuRect = rootMenu.$.overlay.getBoundingClientRect();
125127
const subMenuRect = subMenu.$.overlay.getBoundingClientRect();
@@ -314,13 +316,13 @@ describe('items', () => {
314316

315317
it('should open item on enter', () => {
316318
subMenu.close();
317-
fire(menuComponents()[0], 'keydown', {}, { keyCode: 13, key: 'Enter' });
319+
enterKeyDown(menuComponents()[0]);
318320
expect(subMenu.opened).to.be.true;
319321
});
320322

321323
it('should open item on space', () => {
322324
subMenu.close();
323-
fire(menuComponents()[0], 'keydown', {}, { keyCode: 32, key: 'Space' });
325+
spaceKeyDown(menuComponents()[0]);
324326
expect(subMenu.opened).to.be.true;
325327
});
326328

@@ -340,7 +342,7 @@ describe('items', () => {
340342
await nextRender(subMenu);
341343
const item = menuComponents(subMenu)[0];
342344
const spy = sinon.spy(item, 'focus');
343-
fire(subMenu.$.overlay.$.overlay, 'keydown', {}, { keyCode: 40, key: 'ArrowDown' });
345+
arrowDownKeyDown(subMenu.$.overlay.$.overlay);
344346
expect(spy.calledOnce).to.be.true;
345347
});
346348

@@ -352,7 +354,7 @@ describe('items', () => {
352354
const items = menuComponents(subMenu);
353355
const item = items[items.length - 1];
354356
const spy = sinon.spy(item, 'focus');
355-
fire(subMenu.$.overlay.$.overlay, 'keydown', {}, { keyCode: 38, key: 'ArrowUp' });
357+
arrowUpKeyDown(subMenu.$.overlay.$.overlay);
356358
expect(spy.calledOnce).to.be.true;
357359
});
358360

packages/vaadin-context-menu/test/overlay.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { expect } from '@esm-bundle/chai';
2-
import { fixtureSync, nextFrame, oneEvent } from '@open-wc/testing-helpers';
3-
import { fire, isIOS } from './common.js';
2+
import { fire, fixtureSync, isIOS, nextFrame, oneEvent } from '@vaadin/testing-helpers';
43
import './not-animated-styles.js';
54
import '../vaadin-context-menu.js';
65

packages/vaadin-context-menu/test/properties.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { expect } from '@esm-bundle/chai';
2-
import { fixtureSync } from '@open-wc/testing-helpers';
3-
import { fire } from './common.js';
2+
import { fire, fixtureSync } from '@vaadin/testing-helpers';
43
import './not-animated-styles.js';
54
import '../vaadin-context-menu.js';
65

packages/vaadin-context-menu/test/renderer.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { expect } from '@esm-bundle/chai';
22
import sinon from 'sinon';
3-
import { fixtureSync } from '@open-wc/testing-helpers';
4-
import { fire } from './common.js';
3+
import { fire, fixtureSync } from '@vaadin/testing-helpers';
54
import './not-animated-styles.js';
65
import '../vaadin-context-menu.js';
76

packages/vaadin-context-menu/test/selection.test.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { expect } from '@esm-bundle/chai';
2-
import { aTimeout, fixtureSync, nextFrame, oneEvent } from '@open-wc/testing-helpers';
3-
import { tap, pressAndReleaseKeyOn } from '@polymer/iron-test-helpers/mock-interactions.js';
2+
import sinon from 'sinon';
3+
import { click, enter, fire, fixtureSync, isIOS, nextRender, oneEvent } from '@vaadin/testing-helpers';
44
import '@vaadin/vaadin-list-box/vaadin-list-box.js';
55
import '@vaadin/vaadin-item/vaadin-item.js';
6-
import { fire, isIOS } from './common.js';
76
import './not-animated-styles.js';
87
import '../vaadin-context-menu.js';
98

@@ -25,38 +24,43 @@ describe('selection', () => {
2524
});
2625

2726
describe('selection', () => {
28-
it('should close on item tap', async () => {
27+
it('should close on item click', async () => {
2928
menu._setOpened(true);
3029
await oneEvent(menu.$.overlay, 'vaadin-overlay-open');
30+
await nextRender(menu.$.overlay);
3131

3232
const listBox = menu.$.overlay.content.querySelector('#menu');
33-
await nextFrame();
34-
tap(listBox.items[0]);
35-
expect(menu.opened).to.be.false;
33+
click(listBox.items[0]);
34+
expect(menu.opened).to.eql(false);
3635
});
3736

3837
it('should close on keyboard selection', async () => {
3938
menu._setOpened(true);
4039
await oneEvent(menu.$.overlay, 'vaadin-overlay-open');
40+
await nextRender(menu.$.overlay);
41+
42+
const spy = sinon.spy();
43+
menu.addEventListener('opened-changed', spy);
4144

4245
const item = menu.$.overlay.content.querySelector('#menu vaadin-item');
43-
pressAndReleaseKeyOn(item, 13, [], 'Enter');
44-
await aTimeout(1);
45-
expect(menu.opened).to.be.false;
46+
enter(item);
47+
expect(spy.calledOnce).to.be.true;
4648
});
4749

4850
it('should focus the child element', async () => {
4951
menu._setOpened(true);
5052
await oneEvent(menu.$.overlay, 'vaadin-overlay-open');
51-
await aTimeout(0);
53+
await nextRender(menu.$.overlay);
54+
5255
const item = menu.$.overlay.content.querySelector('#menu vaadin-item');
5356
expect(document.activeElement).to.eql(item);
5457
});
5558

5659
(isIOS ? it.skip : it)('should focus the child element on `contextmenu` event', async () => {
5760
fire(menu, 'contextmenu');
5861
await oneEvent(menu.$.overlay, 'vaadin-overlay-open');
59-
await aTimeout(0);
62+
await nextRender(menu.$.overlay);
63+
6064
const item = menu.$.overlay.content.querySelector('#menu vaadin-item');
6165
expect(document.activeElement).to.eql(item);
6266
});

0 commit comments

Comments
 (0)