1- import { component$ , useSignal } from '@builder.io/qwik' ;
1+ import { component$ } from '@builder.io/qwik' ;
22import { mount } from 'cypress-ct-qwik' ;
3+ import { Modal } from './modal' ;
4+ import { ModalClose } from './modal-close' ;
35import { ModalContent } from './modal-content' ;
46import { ModalFooter } from './modal-footer' ;
57import { ModalHeader } from './modal-header' ;
6- import { ModalRoot } from './modal' ;
8+ import { ModalPortal } from './modal-portal' ;
9+ import { ModalTrigger } from './modal-trigger' ;
710
811/**
912 * SUT - System under test
1013 * Reference: https://en.wikipedia.org/wiki/System_under_test
1114 */
1215const Sut = component$ ( ( ) => {
13- const openSig = useSignal ( false ) ;
1416 return (
15- < >
16- < button onClick$ = { ( ) => ( openSig . value = true ) } > Open Dialog</ button >
17-
18- < ModalRoot show = { openSig } >
17+ < Modal >
18+ < ModalTrigger >
19+ < button data-test = "modal-trigger" > Open Modal</ button >
20+ </ ModalTrigger >
21+ < ModalPortal >
1922 < ModalHeader >
20- < h2 > Hello 👋</ h2 >
23+ < h2 data-test = "modal-header" > Hello 👋</ h2 >
2124 </ ModalHeader >
2225 < ModalContent > I am a simple Modal</ ModalContent >
2326 < ModalFooter >
24- < button
25- data-test = "dialog-close-button"
26- onClick$ = { ( ) => ( openSig . value = false ) }
27- >
28- Close Dialog
29- </ button >
27+ < ModalClose >
28+ < button data-test = "modal-close-button" > Close Modal</ button >
29+ </ ModalClose >
3030 </ ModalFooter >
31- </ ModalRoot >
32- </ >
31+ </ ModalPortal >
32+ </ Modal >
3333 ) ;
3434} ) ;
3535
3636describe ( 'Modal' , ( ) => {
3737 it ( 'renders an opened Modal' , ( ) => {
3838 mount ( < Sut /> ) ;
3939
40- cy . get ( 'button' )
41- . contains ( / O p e n M o d a l / i)
42- . click ( ) ;
40+ cy . get ( '[data-test=modal-trigger]' ) . click ( ) ;
4341
4442 cy . get ( '[data-test=modal-header]' ) . should ( 'be.visible' ) . should ( 'contain' , 'Hello 👋' ) ;
4543 } ) ;
4644
4745 it ( 'closes on button-click' , ( ) => {
4846 mount ( < Sut /> ) ;
4947
50- cy . get ( 'button' )
51- . contains ( / O p e n M o d a l / i)
52- . click ( ) ;
48+ cy . get ( '[data-test=modal-trigger]' ) . click ( ) ;
5349
5450 cy . get ( '[data-test=modal-close-button]' ) . click ( ) ;
5551
@@ -59,9 +55,7 @@ describe('Modal', () => {
5955 it ( 'closes on backdrop-click' , ( ) => {
6056 mount ( < Sut /> ) ;
6157
62- cy . get ( 'button' )
63- . contains ( / O p e n M o d a l / i)
64- . click ( ) ;
58+ cy . get ( '[data-test=modal-trigger]' ) . click ( ) ;
6559
6660 cy . get ( 'body' ) . click ( 'top' ) ;
6761
0 commit comments