Skip to content

Commit 32d7bb0

Browse files
committed
add test
1 parent 6f6f74a commit 32d7bb0

File tree

1 file changed

+49
-4
lines changed
  • src/components/messenger/user-profile/account-management-panel

1 file changed

+49
-4
lines changed

src/components/messenger/user-profile/account-management-panel/index.test.tsx

+49-4
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@ describe(AccountManagementPanel, () => {
1212
const allProps: Properties = {
1313
error: '',
1414
isModalOpen: false,
15+
isAddEmailModalOpen: false,
1516
currentUser: {},
1617
canAddEmail: false,
1718

1819
onBack: () => {},
1920
onSelect: () => {},
2021
onOpenModal: () => {},
2122
onCloseModal: () => {},
23+
onOpenAddEmailModal: () => {},
24+
onCloseAddEmailModal: () => {},
2225
...props,
2326
};
2427

@@ -37,20 +40,20 @@ describe(AccountManagementPanel, () => {
3740
it('renders wallet select modal if isModalOpen is true', () => {
3841
const wrapper = subject({ isModalOpen: true });
3942

40-
expect(wrapper.find('Modal').prop('open')).toEqual(true);
43+
expect(wrapper.find('Modal').at(0).prop('open')).toEqual(true);
4144
});
4245

4346
it('does not render wallet select modal if isModalOpen is false', () => {
4447
const wrapper = subject({ isModalOpen: false });
4548

46-
expect(wrapper.find('Modal').prop('open')).toEqual(false);
49+
expect(wrapper.find('Modal').at(0).prop('open')).toEqual(false);
4750
});
4851

4952
it('publishes onOpenModal event when modal is opened', () => {
5053
const onOpenModal = jest.fn();
5154
const wrapper = subject({ onOpenModal, isModalOpen: false });
5255

53-
wrapper.find('Modal').simulate('openChange', true);
56+
wrapper.find('Modal').at(0).simulate('openChange', true);
5457

5558
expect(onOpenModal).toHaveBeenCalled();
5659
});
@@ -59,7 +62,7 @@ describe(AccountManagementPanel, () => {
5962
const onCloseModal = jest.fn();
6063
const wrapper = subject({ onCloseModal, isModalOpen: true });
6164

62-
wrapper.find('Modal').simulate('openChange', false);
65+
wrapper.find('Modal').at(0).simulate('openChange', false);
6366

6467
expect(onCloseModal).toHaveBeenCalled();
6568
});
@@ -168,4 +171,46 @@ describe(AccountManagementPanel, () => {
168171
expect(wrapper.find(Button).exists()).toEqual(false);
169172
});
170173
});
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+
});
171216
});

0 commit comments

Comments
 (0)