Skip to content

Commit 8fd8f2e

Browse files
committed
fix(preview): remove dependency on isSignRemoveInterstitialEnabled
1 parent f6a9496 commit 8fd8f2e

File tree

2 files changed

+46
-81
lines changed

2 files changed

+46
-81
lines changed

src/elements/content-sidebar/SidebarNavSign.tsx

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -25,40 +25,27 @@ export function SidebarNavSign() {
2525
onClickSignMyself: onBoxClickSignMyself,
2626
status: boxSignStatus,
2727
targetingApi: boxSignTargetingApi,
28-
isSignRemoveInterstitialEnabled,
2928
} = useFeatureConfig('boxSign');
3029

3130
return (
32-
<>
33-
{isSignRemoveInterstitialEnabled ? (
34-
<DropdownMenu isResponsive constrainToWindow isRightAligned>
35-
<SidebarNavSignButton
36-
blockedReason={boxSignBlockedReason}
37-
status={boxSignStatus}
38-
targetingApi={boxSignTargetingApi}
39-
data-resin-target={SIDEBAR_NAV_TARGETS.SIGN}
40-
/>
41-
<Menu>
42-
<MenuItem data-testid="sign-request-signature-button" onClick={onBoxClickRequestSignature}>
43-
<SignMeOthers32 width={16} height={16} className="bcs-SidebarNavSign-icon" />
44-
<FormattedMessage {...messages.boxSignRequestSignature} />
45-
</MenuItem>
46-
<MenuItem data-testid="sign-sign-myself-button" onClick={onBoxClickSignMyself}>
47-
<SignMe32 width={16} height={16} className="bcs-SidebarNavSign-icon" />
48-
<FormattedMessage {...messages.boxSignSignMyself} />
49-
</MenuItem>
50-
</Menu>
51-
</DropdownMenu>
52-
) : (
53-
<SidebarNavSignButton
54-
blockedReason={boxSignBlockedReason}
55-
data-resin-target={SIDEBAR_NAV_TARGETS.SIGN}
56-
onClick={onBoxClickRequestSignature}
57-
status={boxSignStatus}
58-
targetingApi={boxSignTargetingApi}
59-
/>
60-
)}
61-
</>
31+
<DropdownMenu isResponsive constrainToWindow isRightAligned>
32+
<SidebarNavSignButton
33+
blockedReason={boxSignBlockedReason}
34+
status={boxSignStatus}
35+
targetingApi={boxSignTargetingApi}
36+
data-resin-target={SIDEBAR_NAV_TARGETS.SIGN}
37+
/>
38+
<Menu>
39+
<MenuItem onClick={onBoxClickRequestSignature}>
40+
<SignMeOthers32 width={16} height={16} className="bcs-SidebarNavSign-icon" />
41+
<FormattedMessage {...messages.boxSignRequestSignature} />
42+
</MenuItem>
43+
<MenuItem onClick={onBoxClickSignMyself}>
44+
<SignMe32 width={16} height={16} className="bcs-SidebarNavSign-icon" />
45+
<FormattedMessage {...messages.boxSignSignMyself} />
46+
</MenuItem>
47+
</Menu>
48+
</DropdownMenu>
6249
);
6350
}
6451

Lines changed: 28 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,58 @@
11
import * as React from 'react';
2-
import { render, fireEvent } from '@testing-library/react';
2+
3+
import { userEvent } from '@testing-library/user-event';
4+
import { render, screen } from '../../../test-utils/testing-library';
35
import SidebarNavSign from '../SidebarNavSign';
4-
// @ts-ignore Module is written in Flow
5-
import FeatureProvider from '../../common/feature-checking/FeatureProvider';
66

77
describe('elements/content-sidebar/SidebarNavSign', () => {
88
const onClickRequestSignature = jest.fn();
99
const onClickSignMyself = jest.fn();
1010

1111
const renderComponent = (props = {}, features = {}) =>
12-
render(
13-
<FeatureProvider features={features}>
14-
<SidebarNavSign {...props} />
15-
</FeatureProvider>,
16-
);
12+
render(<SidebarNavSign {...props} />, {
13+
wrapperProps: { features },
14+
});
1715

18-
test.each([true, false])('should render sign button', isRemoveInterstitialEnabled => {
19-
const features = {
20-
boxSign: {
21-
isSignRemoveInterstitialEnabled: isRemoveInterstitialEnabled,
22-
},
23-
};
16+
test('should render sign button', async () => {
17+
renderComponent();
2418

25-
const wrapper = renderComponent({}, features);
26-
expect(wrapper.getByTestId('sign-button')).toBeVisible();
19+
expect(screen.getByRole('button', { name: 'Request Signature' })).toBeInTheDocument();
2720
});
2821

29-
test('should call correct handler when sign button is clicked', () => {
30-
const features = {
31-
boxSign: {
32-
isSignRemoveInterstitialEnabled: false,
33-
onClick: onClickRequestSignature,
34-
},
35-
};
36-
const { getByTestId } = renderComponent({}, features);
37-
38-
fireEvent.click(getByTestId('sign-button'));
22+
test('should open dropdown with 2 menu items when sign button is clicked', async () => {
23+
renderComponent();
3924

40-
expect(onClickRequestSignature).toBeCalled();
41-
});
25+
await userEvent.click(screen.getByRole('button', { name: 'Request Signature' }));
4226

43-
test('should open dropdown with 2 menu items when sign button is clicked', () => {
44-
const features = {
45-
boxSign: {
46-
isSignRemoveInterstitialEnabled: true,
47-
},
48-
};
49-
const { getByTestId } = renderComponent({}, features);
50-
fireEvent.click(getByTestId('sign-button'));
51-
expect(getByTestId('sign-request-signature-button')).toBeVisible();
52-
expect(getByTestId('sign-sign-myself-button')).toBeVisible();
27+
expect(screen.getByRole('menuitem', { name: 'Request Signature' })).toBeVisible();
28+
expect(screen.getByRole('menuitem', { name: 'Sign Myself' })).toBeVisible();
5329
});
5430

55-
test('should call correct handler when request signature option is clicked', () => {
31+
test('should call correct handler when request signature option is clicked', async () => {
5632
const features = {
5733
boxSign: {
58-
isSignRemoveInterstitialEnabled: true,
5934
onClick: onClickRequestSignature,
6035
},
6136
};
62-
const { getByTestId } = renderComponent({}, features);
63-
fireEvent.click(getByTestId('sign-button'));
64-
fireEvent.click(getByTestId('sign-request-signature-button'));
65-
expect(onClickRequestSignature).toBeCalled();
37+
renderComponent({}, features);
38+
39+
await userEvent.click(screen.getByRole('button', { name: 'Request Signature' }));
40+
await userEvent.click(screen.getByRole('menuitem', { name: 'Request Signature' }));
41+
42+
expect(onClickRequestSignature).toHaveBeenCalled();
6643
});
6744

68-
test('should call correct handler when sign myself option is clicked', () => {
45+
test('should call correct handler when sign myself option is clicked', async () => {
6946
const features = {
7047
boxSign: {
71-
isSignRemoveInterstitialEnabled: true,
7248
onClickSignMyself,
7349
},
7450
};
75-
const { getByTestId } = renderComponent({}, features);
76-
fireEvent.click(getByTestId('sign-button'));
77-
fireEvent.click(getByTestId('sign-sign-myself-button'));
78-
expect(onClickSignMyself).toBeCalled();
51+
renderComponent({}, features);
52+
53+
await userEvent.click(screen.getByRole('button', { name: 'Request Signature' }));
54+
await userEvent.click(screen.getByRole('menuitem', { name: 'Sign Myself' }));
55+
56+
expect(onClickSignMyself).toHaveBeenCalled();
7957
});
8058
});

0 commit comments

Comments
 (0)