Skip to content

Commit 4c508f4

Browse files
committed
update tests
1 parent 40ba458 commit 4c508f4

File tree

1 file changed

+39
-18
lines changed

1 file changed

+39
-18
lines changed
Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,89 @@
11
import { expect } from '@open-wc/testing';
22

3-
import { WithModal } from './modal-controller';
4-
5-
const Modal = WithModal<string>(HTMLElement);
6-
customElements.define('modal-controller-test', Modal);
3+
import { ModalController, WithModal } from './modal-controller';
74

85
describe('ModalController', () => {
6+
it('should apply a modal controller with Mixin', async () => {
7+
const Modal = WithModal<string>(HTMLElement);
8+
customElements.define('modal-controller-test', Modal);
9+
10+
const { controller } = new Modal();
11+
12+
controller.open();
13+
controller.close('Hello World');
14+
15+
const res = await controller.result;
16+
17+
expect(res).to.equal('Hello World');
18+
});
19+
920
it('should resolve the result to the value passed when closing', async () => {
10-
const modal = new Modal();
21+
const modal = document.createElement('div');
1122

12-
modal.controller.open();
13-
modal.controller.close('Hello World');
23+
const controller = new ModalController(modal);
24+
controller.open();
25+
controller.close('Hello World');
1426

15-
const res = await modal.controller.result;
27+
const res = await controller.result;
1628

1729
expect(res).to.equal('Hello World');
1830
});
1931

2032
it('should dispatch modalopened event', async () => {
21-
const modal = new Modal();
33+
const modal = document.createElement('div');
34+
modal.dataset.modal = 'true';
35+
36+
const controller = new ModalController(modal);
2237

2338
return new Promise((resolve) => {
2439
modal.addEventListener('modalopen', (e) => {
2540
const target = e.target as HTMLElement;
2641

27-
expect(target.tagName).to.equal('MODAL-CONTROLLER-TEST');
42+
expect(target.dataset.modal).to.equal('true');
2843

2944
resolve();
3045
});
3146

32-
modal.controller.open();
47+
controller.open();
3348
});
3449
});
3550

3651
it('should dispatch aftermodalopened event', async () => {
37-
const modal = new Modal();
52+
const modal = document.createElement('div');
53+
modal.dataset.modal = 'true';
54+
55+
const controller = new ModalController(modal);
3856

3957
return new Promise((resolve) => {
4058
modal.addEventListener('modalafteropen', (e) => {
4159
const target = e.target as HTMLElement;
4260

43-
expect(target.tagName).to.equal('MODAL-CONTROLLER-TEST');
61+
expect(target.dataset.modal).to.equal('true');
4462

4563
resolve();
4664
});
4765

48-
modal.controller.open();
66+
controller.open();
4967
});
5068
});
5169

5270
it('should dispatch modalclosed event', async () => {
53-
const modal = new Modal();
71+
const modal = document.createElement('div');
72+
modal.dataset.modal = 'true';
73+
74+
const controller = new ModalController(modal);
5475

5576
return new Promise((resolve) => {
5677
modal.addEventListener('modalclose', (e) => {
5778
const target = e.target as HTMLElement;
5879

59-
expect(target.tagName).to.equal('MODAL-CONTROLLER-TEST');
80+
expect(target.dataset.modal).to.equal('true');
6081

6182
resolve();
6283
});
6384

64-
modal.controller.open();
65-
modal.controller.close();
85+
controller.open();
86+
controller.close();
6687
});
6788
});
6889
});

0 commit comments

Comments
 (0)