Skip to content

Commit b756a22

Browse files
jasminevleittaishay
authored andcommitted
feat(usm): expand Invite Section based on initiallySelectedContacts (#1470)
1 parent 9708cd9 commit b756a22

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

src/features/unified-share-modal/UnifiedShareModal.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ type Props = {
7474
/** Handler function for when the user types into email shared link field to fetch contacts. */
7575
getSharedLinkContacts: (query: string) => Promise<Array<Contact>>,
7676
/** An array of initially selected contacts. If none are initially selected, an empty array. */
77-
initiallySelectedContacts?: Array<Contact>,
77+
initiallySelectedContacts: Array<Contact>,
7878
intl: IntlShape,
7979
/** An array of invitee permissions */
8080
inviteePermissions: Array<InviteePermissions>,
@@ -147,6 +147,7 @@ type State = {
147147

148148
class UnifiedShareModal extends React.Component<Props, State> {
149149
static defaultProps = {
150+
initiallySelectedContacts: [],
150151
focusSharedLinkOnLoad: false,
151152
trackingProps: {
152153
inviteCollabsEmailTracking: {},
@@ -164,12 +165,12 @@ class UnifiedShareModal extends React.Component<Props, State> {
164165

165166
this.state = {
166167
emailSharedLinkContacts: [],
167-
inviteCollabsContacts: props.initiallySelectedContacts || [],
168+
inviteCollabsContacts: props.initiallySelectedContacts,
168169
inviteePermissionLevel: '',
169170
isConfirmModalOpen: false,
170171
isEmailLinkSectionExpanded: false,
171172
isFetching: true,
172-
isInviteSectionExpanded: false,
173+
isInviteSectionExpanded: !!props.initiallySelectedContacts.length,
173174
showCollaboratorList: false,
174175
getInitialDataCalled: false,
175176
shouldRenderFTUXTooltip: false,

src/features/unified-share-modal/__tests__/UnifiedShareModal-test.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -823,5 +823,27 @@ describe('features/unified-share-modal/UnifiedShareModal', () => {
823823
wrapper.setState({ emailSharedLinkContacts: contacts });
824824
expect(wrapper.instance().hasExternalContact('emailSharedLinkContacts')).toBe(false);
825825
});
826+
827+
test('should set isInviteSectionExpanded and inviteCollabsContacts correctly if there are initiallySelectedContacts', () => {
828+
const initiallySelectedContacts = [
829+
{
830+
email: 'x@example.com',
831+
id: '12345',
832+
isExternalUser: false,
833+
name: 'X User',
834+
type: 'group',
835+
},
836+
];
837+
838+
const wrapper = getWrapper({ initiallySelectedContacts });
839+
expect(wrapper.state('inviteCollabsContacts')).toEqual(initiallySelectedContacts);
840+
expect(wrapper.state('isInviteSectionExpanded')).toEqual(true);
841+
});
842+
843+
test('should set isInviteSectionExpanded and inviteCollabsContacts correctly if there are NO initiallySelectedContacts', () => {
844+
const wrapper = getWrapper();
845+
expect(wrapper.state('inviteCollabsContacts')).toEqual([]);
846+
expect(wrapper.state('isInviteSectionExpanded')).toEqual(false);
847+
});
826848
});
827849
});

0 commit comments

Comments
 (0)