@@ -12,13 +12,16 @@ describe(AccountManagementPanel, () => {
12
12
const allProps : Properties = {
13
13
error : '' ,
14
14
isModalOpen : false ,
15
+ isAddEmailModalOpen : false ,
15
16
currentUser : { } ,
16
17
canAddEmail : false ,
17
18
18
19
onBack : ( ) => { } ,
19
20
onSelect : ( ) => { } ,
20
21
onOpenModal : ( ) => { } ,
21
22
onCloseModal : ( ) => { } ,
23
+ onOpenAddEmailModal : ( ) => { } ,
24
+ onCloseAddEmailModal : ( ) => { } ,
22
25
...props ,
23
26
} ;
24
27
@@ -37,20 +40,20 @@ describe(AccountManagementPanel, () => {
37
40
it ( 'renders wallet select modal if isModalOpen is true' , ( ) => {
38
41
const wrapper = subject ( { isModalOpen : true } ) ;
39
42
40
- expect ( wrapper . find ( 'Modal' ) . prop ( 'open' ) ) . toEqual ( true ) ;
43
+ expect ( wrapper . find ( 'Modal' ) . at ( 0 ) . prop ( 'open' ) ) . toEqual ( true ) ;
41
44
} ) ;
42
45
43
46
it ( 'does not render wallet select modal if isModalOpen is false' , ( ) => {
44
47
const wrapper = subject ( { isModalOpen : false } ) ;
45
48
46
- expect ( wrapper . find ( 'Modal' ) . prop ( 'open' ) ) . toEqual ( false ) ;
49
+ expect ( wrapper . find ( 'Modal' ) . at ( 0 ) . prop ( 'open' ) ) . toEqual ( false ) ;
47
50
} ) ;
48
51
49
52
it ( 'publishes onOpenModal event when modal is opened' , ( ) => {
50
53
const onOpenModal = jest . fn ( ) ;
51
54
const wrapper = subject ( { onOpenModal, isModalOpen : false } ) ;
52
55
53
- wrapper . find ( 'Modal' ) . simulate ( 'openChange' , true ) ;
56
+ wrapper . find ( 'Modal' ) . at ( 0 ) . simulate ( 'openChange' , true ) ;
54
57
55
58
expect ( onOpenModal ) . toHaveBeenCalled ( ) ;
56
59
} ) ;
@@ -59,7 +62,7 @@ describe(AccountManagementPanel, () => {
59
62
const onCloseModal = jest . fn ( ) ;
60
63
const wrapper = subject ( { onCloseModal, isModalOpen : true } ) ;
61
64
62
- wrapper . find ( 'Modal' ) . simulate ( 'openChange' , false ) ;
65
+ wrapper . find ( 'Modal' ) . at ( 0 ) . simulate ( 'openChange' , false ) ;
63
66
64
67
expect ( onCloseModal ) . toHaveBeenCalled ( ) ;
65
68
} ) ;
@@ -168,4 +171,46 @@ describe(AccountManagementPanel, () => {
168
171
expect ( wrapper . find ( Button ) . exists ( ) ) . toEqual ( false ) ;
169
172
} ) ;
170
173
} ) ;
174
+
175
+ describe ( 'add email modal' , ( ) => {
176
+ it ( 'renders add email modal if isAddEmailModalOpen is true' , ( ) => {
177
+ const wrapper = subject ( { isAddEmailModalOpen : true } ) ;
178
+
179
+ expect ( wrapper . find ( 'Modal' ) . at ( 1 ) . prop ( 'open' ) ) . toEqual ( true ) ;
180
+ expect ( wrapper . find ( c ( 'add-email-title' ) ) . text ( ) ) . toEqual ( 'Add Email' ) ;
181
+ } ) ;
182
+
183
+ it ( 'does not render add email modal if isAddEmailModalOpen is false' , ( ) => {
184
+ const wrapper = subject ( { isAddEmailModalOpen : false } ) ;
185
+
186
+ expect ( wrapper . find ( 'Modal' ) . at ( 1 ) . prop ( 'open' ) ) . toEqual ( false ) ;
187
+ } ) ;
188
+
189
+ it ( 'publishes onOpenAddEmailModal when add email is clicked' , ( ) => {
190
+ const onOpenAddEmailModal = jest . fn ( ) ;
191
+ const wrapper = subject ( { onOpenAddEmailModal, currentUser : { primaryEmail : null } , canAddEmail : true } ) ;
192
+
193
+ wrapper . find ( Button ) . simulate ( 'press' ) ;
194
+
195
+ expect ( onOpenAddEmailModal ) . toHaveBeenCalled ( ) ;
196
+ } ) ;
197
+
198
+ it ( 'publishes onCloseAddEmailModal event when modal is closed via onOpenChange' , ( ) => {
199
+ const onCloseAddEmailModal = jest . fn ( ) ;
200
+ const wrapper = subject ( { onCloseAddEmailModal, isAddEmailModalOpen : true } ) ;
201
+
202
+ wrapper . find ( 'Modal' ) . at ( 1 ) . simulate ( 'openChange' , false ) ;
203
+
204
+ expect ( onCloseAddEmailModal ) . toHaveBeenCalled ( ) ;
205
+ } ) ;
206
+
207
+ it ( 'publishes onCloseAddEmailModal event when modal is closed via Close IconButton click' , ( ) => {
208
+ const onCloseAddEmailModal = jest . fn ( ) ;
209
+ const wrapper = subject ( { onCloseAddEmailModal, isAddEmailModalOpen : true } ) ;
210
+
211
+ wrapper . find ( 'IconButton' ) . simulate ( 'click' ) ;
212
+
213
+ expect ( onCloseAddEmailModal ) . toHaveBeenCalled ( ) ;
214
+ } ) ;
215
+ } ) ;
171
216
} ) ;
0 commit comments